我有这个问题,我有 2 个文件 1) 包含 main() 和其他与 main() 内的主 UI 相关的东西,还有一些函数 2) 另一个文件,它使从服务器到 UI 的连接
我无法从辅助文件中找到从 main() 调用函数的任何解决方案(我知道这不是一个很好的编程设计,但我已经写了很多代码)
谢谢:)
我有这个问题,我有 2 个文件 1) 包含 main() 和其他与 main() 内的主 UI 相关的东西,还有一些函数 2) 另一个文件,它使从服务器到 UI 的连接
我无法从辅助文件中找到从 main() 调用函数的任何解决方案(我知道这不是一个很好的编程设计,但我已经写了很多代码)
谢谢:)
在 js 中,function
s 是你的范围约束。因此,请考虑以下代码:
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/