我的问题是我有两个js文件(1.js,2.js),两者都有相同的功能,方法(或者像文件的副本)。现在我想从一个js(1.js)文件调用一个函数(如_finish())到另一个js文件(2.js)文件。谁能给出解决方案呢?
答案 0 :(得分:3)
创建您自己的命名空间并将所有“公共”方法(到您的应用程序)拉到那里。
<强> 1.js 强>
window.yourspace = window.yourspace || {};
window.yourspace.app = (function() {
var foo = 1;
return {
publicfunction: function() {
alert('hello world');
}
};
}());
<强> 2.js 强>
window.yourspace = window.yourspace || {};
if( yourspace )
yourspace.app.publicfunction();
答案 1 :(得分:0)
我同意jAndy。在您的情况下,您必须使用名称空间
例如,如果你有一个定义变量a
的脚本然后定义它自己的变量a
的第二个脚本,当两个脚本放在一起时,浏览器执行的最后一个脚本会覆盖{{1变量:
a
执行上面的示例时,您会看到第二个脚本已重新定义了//script 1
var a = 'script 1 value';
// ...
//script2
var a = 'script 2 value';
// ...
alert(a);
变量。因此,没有名称冲突的最佳方法是使用命名空间:
a