在不同的文件中运行函数

时间:2012-04-25 15:20:27

标签: javascript

我有几个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 ,...

2 个答案:

答案 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.jsrequire.js之类的内容。

但是,不要在所有JS文件中重用全局函数名main来污染全局命名空间。网上有大量关于如何避免污染全局命名空间的文档,以及为什么这是一个好主意。这是一个简单的网络搜索。

答案中的更多信息:How do I declare a namespace in JavaScript?