我需要调用特定的js函数.问题是很多时候运行时情况可能会出现另一个js文件可能包含相同名称的功能.但我需要具体说明我打算调用哪个函数.函数重载不是我的解决方案.
谢谢和问候,Tanmay
lin*_*lnk 10
您将不得不重新组织资源并尽可能使用命名空间.
如果你有一个名为saySomething两次定义的方法,你可以将其中一个移动到一个对象(更适合你的需求).
var myNS = new (function() {
this.saySomething = function() {
alert('hello!');
};
})();
Run Code Online (Sandbox Code Playgroud)
另一种定义可以移动到另一个对象中,甚至可以单独留下.
function saySomething() {
alert('derp!');
}
Run Code Online (Sandbox Code Playgroud)
你现在可以调用saySomething方法了
saySomething(); // derp!
myNS.saySomething(); // hello!
Run Code Online (Sandbox Code Playgroud)
编辑:因为它是在评论中提出的,这个
var myNS = {
saySomething: function() {
alert('hello!');
}
};
Run Code Online (Sandbox Code Playgroud)
相当于第一个代码块,更简单的形式(如果我正确记住).
至少在 Firefox 中,当你有两个同名的函数时,第二个函数会覆盖第一个函数。
所以,你不能调用第一个。
尝试一下:
function a() {alert(1);}
function a() {alert(2);}
a(); // alerts '2'
Run Code Online (Sandbox Code Playgroud)
请参阅jsfiddle。
| 归档时间: |
|
| 查看次数: |
15999 次 |
| 最近记录: |