关于js重名方法的先后调用问题
Posted whiteme
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于js重名方法的先后调用问题相关的知识,希望对你有一定的参考价值。
当js中方法重名时,最后引入的js会覆盖前面的引入的js(就是说会调用最后引入的js中的方法)详情参照(main1.js与white1.js 的b())
但是,当最后一个js中存在语法上的错误时(也可以是本js文件中其他方法格式错误),会调用前面的js中方法。详情参照(main.js与white.js的a())
<!DOCTYPE html> <html lang="en"> <script src="js/main.js"></script> <script src="js/white.js"></script> <script src="js/main1.js"></script> <script src="js/white1.js"></script> <head> </head> <Button value="ceshi" onclick="a()">main white</Button> <Button value="ceshi" onclick="b()">main1 white1</Button> <body> </body> </html>
几个js文件小案例
main.js的a() function a(){ alert("main---->a()"); } white.js的a() function a(){ alert("white---->a()"); }
因为white.js比main.js后引入,所以他覆盖了main.js的a(),所以结果是"white---->a()"
main1.js的b() function b(){ alert("main1---->b()"); } white1.js的b() function b(){ alert("white1---->b()");
function bb(){
注意此处的white1.js的的方法,因为漏写了一个大括号所以white1.js无法被读取
需要提一点的是,我们在写js当无法找到我们所写函数的时候并确定自己写的是正确的,这时我们需要注意在此方法中,其他的方法是否正确,ajax格式,大括号缺少之类的
因此执行main1.js的b(),所以结果是"main1---->b()"
以上是关于关于js重名方法的先后调用问题的主要内容,如果未能解决你的问题,请参考以下文章