我有几个JS文件;第一个是下一个要使用的库,其中每个文件都有一个函数 main(),它调用该文件的函数。
lib.js =>文库
a.js :: main()=>在a.js中调用函数
b.js :: main()=> b.js中的调用函数
...
......
所以,我希望为这些文件运行 main 函数(在加载 lib.js 之后)。
如何在加载JS文件后运行每个函数 main ? 它将加载 a.js 并运行 main ,加载 b.js 并运行 main ,...
答案 0 :(得分:2)
JavaScript不是C 或类似的东西。
定义函数的文件无关紧要。该功能将被覆盖。
因此,如果您首先加载文件a.js
,然后加载文件b.js
main
函数将是您在{{1}中定义的main
函数您在b.js
中定义的main
函数将不会存在于任何地方。
如果你想保留旧功能,我建议你在每个文件中创建一个对象,并在其中定义主要功能。就像这样。
a.js
:
a.js
var a = {};
a.main = function() {
/* do stuff */
};
:
b.js
所以现在你可以打电话:
var b = {};
b.main = function() {
/* do stuff */
};
和
a.main();
答案 1 :(得分:1)
如果您需要控制依赖项(加载顺序),请使用head.js
或require.js
之类的内容。
但是,不要在所有JS文件中重用全局函数名main
来污染全局命名空间。网上有大量关于如何避免污染全局命名空间的文档,以及为什么这是一个好主意。这是一个简单的网络搜索。