我有CODE:
var MyObj = (function() {
//Constructor
var MyObj= function(){
this.myArray = [1,2,3];
}
MyObj.prototype = {
myFunc: function(){
alert(this.myArray.toString());
},
myFuncCaller: function(){
MyObj.prototype.myFunc();
}
};
return MyObj;
})();
var myObj = new MyObj();
myObj.myFunc();
//This line will throw an exception because this.myArray is undefined
myObj.myFuncCaller();
为什么this.myArray
未定义?
我知道我做错了什么,怎么做正确的方法呢?
答案 0 :(得分:4)
只需使用this
:
this.myFunc();
当您在Javascript中调用函数时,this
将设置为您调用它的表达式
例如,在您的代码中,this
中的myFunc()
为MyObj.prototype
。