我有这个问题我有2个文件 1)包含main()和与主UI相关的其他内容 在main()里面有一些功能 2)另一个从服务器到UI的连接文件
我无法从辅助文件中找到从main()调用函数的任何解决方案(我知道这不是一个godd编程设计,但我已经编写了很多代码)
谢谢:)
答案 0 :(得分:1)
在js中,function
是您的范围限制。因此,请考虑以下代码:
function main(){
function callMom(){
alert('hi mom!');
}
}
function goAboutYourDay(){
brushTeeth(); // works
callMom(); // wont work
}
function brushTeeth(){
alert('brush brush brush');
}
根据您的情况,您可以考虑返回一些main函数,如下所示:
function main(){
var callMom = function(){
alert('hi mom!');
}
return {
callMommy: callMom
};
}
function goAboutYourDay(){
var m = main();
m.callMommy();
}
以下是使用原型的方法:
var Main = function(){
this.message = "Will you send some candy?";
};
Main.prototype.callMom = function(){
alert('Hi Mom! ' + this.message);
};
function otherFile(){
// you could create a new instance of Main if there isn't one available to you here
var main = new Main();
main.callMom();
}
otherFile();
以下是一些jsfiddles,您可以使用这些示例:
http://jsfiddle.net/lbstr/A3dSB/
http://jsfiddle.net/lbstr/FyDAL/
http://jsfiddle.net/lbstr/2TLu2/