从 JavaScript 中的私有函数访问公共函数
Access public function from private function in JavaScript
我最近开始使用JavaScript中的OOP
。而且,我对这些事情感到困惑。我知道JavaScript与Java完全不同。但这引起了问题。
我正在尝试实现的内容:
function myClass() {
//Declare private variable
var privateVar = '';
//To act as constructor
privateFunction('Hello');
//Getter
this.publicFunctionGet = function() {
return privateVar;
}
//Setter
this.publicFunctionSet = function(x) {
privateVar = x;
}
function privateFunction(x) {
this.publicFunctionSet(x);
}
}
//Create object of myClass
var me = new myClass();
alert(me.publicFunctionGet());
这是抛出一个错误,上面写着:
未捕获的类型错误:未定义不是函数
为
function privateFunction(x) {
this.publicFunctionSet(x);
}
我该怎么办?如何实现这部分。?我是否误解了JavaScript类?
看看这个答案。
将公共函数包装在对象文本中并返回它。因此,您可以在对象文字函数中调用私有函数。
您应该阅读有关提升以及声明函数和函数表达式之间的差异的信息。
你的代码不起作用,因为js知道有声明的var publicFunctionSet(函数表达式),但是当声明privateFunction(x)时它不是一个函数。
Pradhan@Akash答案将解决您的问题,但我想您仍然应该检查背景和未解决的原因,以及为什么它没有像您尝试的那样工作:)
相关文章:
- javascript函数访问ios本机功能
- 从嵌套函数访问函数属性
- 将typescript函数访问到angular中
- 全局变量只能由第一个函数访问
- Javascript从匿名函数访问外部对象属性
- UI网格:如何从自定义函数访问MODEL_COL_FIELD
- 在jQuery中,我如何从$.ajax回调函数访问$(this)
- 如何在JavaScript中停止从特定函数访问某些函数和变量
- 从jQuery.ech()函数访问外部作用域
- Angular2/Typescript:从链接可观察函数访问实例变量
- 局部变量仍可通过函数访问
- 从Kendo中的columns.filterable.cell.template函数访问列字段名
- 可以't从JS函数访问combodate
- 如何在javascript中将变量从一个函数访问到另一个函数
- jQuery从PHP函数访问Ajax响应
- 如何从json函数访问javascript中的基类变量
- 在OPP JS中,您可以从构造函数访问原型函数内部声明的方法
- Javascript 使用函数访问其他类
- 从 JavaScript 中的私有函数访问公共函数
- 为什么我无法从茉莉花中的 javascript 函数访问全局变量