我怎样才能让它发挥作用?似乎是一个微不足道的错误我没有看到
(function($){
$.myNamespace = {
num:0,
incNum: function(){
return num++;},
decNum: function(){
return num--;},
getNum: function(){
return num;
}
};
})(jQuery);
调用$ .myNamespace.incNum会产生'ReferenceError:num is not defined'
答案 0 :(得分:1)
(function ($) {
$.myNamespace = {
num: 0,
incNum: function () {
return this.num++;
},
decNum: function () {
return this.num--;
},
getNum: function () {
return this.num;
}
};
})(jQuery);
答案 1 :(得分:0)
您必须编辑所有返回语句以引用该对象。
return this.num++;
所以你的代码看起来像这样:
(function ($) {
$.myNamespace = {
num: 0,
incNum: function () {
return this.num++;
},
decNum: function () {
return this.num--;
},
getNum: function () {
return this.num;
}
};
})(jQuery);
答案 2 :(得分:0)
num
不是函数范围的一部分; JavaScript没有命名空间的概念。相反,您应该num
或$.myNamespace.num
访问this.num
(尽管我不建议 - this
可以绑定到任意对象。)
答案 3 :(得分:0)
'num'在你的父类'myNamespace'中...如果你想从这个类的children方法访问它,那么@Kieran说你需要使用this关键字,即this.num ++