首页 > 代码库 > 关于js重名方法的先后调用问题

关于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重名方法的先后调用问题