1. 程式人生 > >關於js重名方法的先後調用問題

關於js重名方法的先後調用問題

spa white ceshi family main color 其他 pan body

  當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重名方法的先後調用問題