Javascript 在不同的文件中运行函数
我有几个JS文件;第一个文件是供下一个文件使用的库,这些文件中的每个文件都有一个函数main(),该函数调用该文件的函数 lib.js=>library a、 js::main()=>调用a.js中的函数Javascript 在不同的文件中运行函数,javascript,Javascript,我有几个JS文件;第一个文件是供下一个文件使用的库,这些文件中的每个文件都有一个函数main(),该函数调用该文件的函数 lib.js=>library a、 js::main()=>调用a.js中的函数 b、 js::main()=>调用b.js中的函数 … ... 因此,我希望在加载lib.js之后为这些文件运行main函数 加载JS文件后,如何运行每个主函数? 加载a.js并运行main,加载b.js并运行main,…如果需要控制依赖项(加载顺序),请使用类似于head.js或requ
b、 js::main()=>调用b.js中的函数
…
... 因此,我希望在加载lib.js之后为这些文件运行main函数 加载JS文件后,如何运行每个主函数?
加载a.js并运行main,加载b.js并运行main,…如果需要控制依赖项(加载顺序),请使用类似于
head.js
或require.js
的方法
但是,不要在所有JS文件中重用全局函数名main
,从而污染全局名称空间。网络上有大量关于如何避免污染全局名称空间以及为什么这是个好主意的文档。这是一个简单的网络搜索
答案中的更多信息:JavaScript不是C或类似的东西 在哪个文件中定义函数并不重要。该函数将被覆盖 因此,如果您首先加载文件
a.js
,然后加载文件b.js
,main
函数将是您在b.js
中定义的main
函数,而您在a.js
中定义的main
函数将不存在于任何地方
如果您想保留旧函数,我建议您在每个文件中创建一个对象,并在其中定义主函数。像这样
a.js
:
var a = {};
a.main = function() {
/* do stuff */
};
var b = {};
b.main = function() {
/* do stuff */
};
b.js
:
var a = {};
a.main = function() {
/* do stuff */
};
var b = {};
b.main = function() {
/* do stuff */
};
现在你可以打电话:
a.main();
及
你能把问题的措辞改一下吗?你怎么得到什么?