html中调用两个javascript文件里的函数但是函数名相同怎么办

由于现在没有分所以不好意思
有知道的高手请解答万分感谢
js是分离的也就是这两个js文件里有相同的函数名但是内容不同应该怎么区别呢谢谢

只能“忍痛”改名了,如果说只是运行,没有在网页中调用的话,还可以把它们都写成“闭包”,比如:
JS1:
(function(){
//JS1的内容放在这里
})()
JS2也一样,其实这样就是写了一个匿名函数,并且立即调用了,里面的内容对外来说是不可见的(除非在里面改变了外面的东西,比如window),所以叫“闭包”
你可以到百科看下更详细的内容。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
解释器是按照函数定义的先后,后定义的覆盖先定义的。如果函数来自不同的文件,按文件被include的顺序来。
举例说有1.js和2.js,里面分别有fun()的函数定义。
如果html文件先include 1.js再include 2.js,那么后续对fun()的调用就来自2.js;而如果在include 2.js之前的调用则来自1.js本回答被提问者采纳
第2个回答  2010-02-02
加上一个"命名空间"

var a = a||{};

a.fun1 = function(){

};

var b = b||{};
b.fun1 = function(){

};

a.fun1();
b.fun1();
第3个回答  2019-08-19
题主是说在 run 外部调用 a、b、c?<br><br><br>那是不可能的,使用嵌套函数的目的就是为了让外部无法调用,以达到封装性的目的。<br><br><br>可以使用折衷的办法:<br>function run(obj){<br> function a(){<br> return '我不爱你';<br> }<br> function b(){<br> return '我爱你';<br> }<br> function c(){<br> return '我只喜欢你';<br> }<br><br> switch(obj){<br> case 'a':<br> return a();<br> break;<br> case 'b':<br> return b();<br> break;<br> case 'c':<br> return c();<br> break; <br> }<br> return null;<br>}使用时:<br>alert(run('a'));<br>alert(run('b'));<br>alert(run('c'));
第4个回答  2010-02-01
js可以函数名相同,但下面的覆盖上面的
你最好改名吧

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网