define(function() {
return {
show: function(msg) {
alert(msg);
},
showing: function(msg) {
adding(10); //it throws up an exception saying that adding is undefined.
},
adding: function(x) {
return x + 10;
}
};
});
我试图在显示功能上方切换添加,但它似乎也不起作用。我误会了什么吗?我仍然很新,需要js。
答案 0 :(得分:2)
这是JavaScript原型语言的一个问题,而不是Require。这是添加功能范围的问题。尝试这个让它工作,然后我建议你看看与JS的范围。
define(function() { function addTenTo(x) { return x + 10; } return { show: function(msg) { alert(msg); }, showing: function(msg) { return addTenTo(10); }, adding: addTenTo // as suggested by gp };
});
答案 1 :(得分:2)
使用adding
this.
showing: function(msg) {
this.adding(10);
}
此将引用您要返回的对象,该对象定义了显示和添加方法。
答案 2 :(得分:1)
您的添加功能不在显示的范围内。基本上添加只是对象的属性,而不是可以调用的函数名。
this.adding(10);
因此,我们在对象范围内调用添加作为Object属性(这就是为什么我们使用 this 关键字)