由于某种原因,我无法将我的设置方法中的函数调用到我的init方法中。
// this is how I use it now(dont work)
Plugin.prototype = {
settings: function(){
function hello(name){
alert('hi, '+name)
}
},
init: function(){
this.settings()
hello('John Doe')
}
}
答案 0 :(得分:4)
Javascript具有功能范围。如果在另一个函数中声明一个函数,它只能在外部函数内部显示。
答案 1 :(得分:1)
这可能是你的意思:
Plugin.prototype = {
settings: function(){
},
hello: function(name){
alert('hi, '+name);
},
init: function(){
this.settings();
this.hello('John Doe');
}
};
或者,如果你想将hello()设为私有,你可以这样做:
Plugin.prototype = function(){
var hello = function (name){
alert('hi, '+name);
};
return {
settings: function(){
},
init: function(){
this.settings();
hello('John Doe');
}
};
}();