轉自:https://www.cnblogs.com/wshiqtb/p/3480597.html
html中如果出現函數同名時:
如果有多個外部引入的js文件,例如a.js和b.js(引入順序假定是a.js,然后是b.js),同時html中本身也有內部的js.
那么針對出現函數名一樣的情況時,無論他們傳遞的參數是否一樣,返回值是否相同,都認為是一個函數,所以js 處理時,最后調用的函數F是按照這樣的順序處理的:
1、查找是否有外部引入的js文件
2、如果沒有那么轉到第3步,如果有,那么按照引入順序首先檢查a.js中是否有函數F,找到函數F后記錄,並繼續在該文件中查找,如果有同樣的函數名F(注意這里只管函數名,不管參數和返回值),則覆蓋前面的記錄,直到該文件末尾,最后實際調用的就是該文件中的最后一個函數;如果在a.js中沒有找到F函數名一樣的函數,那么查找b.js文件中是否有F函數,處理和a.js中一樣。如果最終在外部引入的js文件中都沒有找到該函數,那么轉到下面第3步
3、在本html內部按照順序查找是否有F函數,如果沒有,出錯處理;如果有同樣按照后面覆蓋前面的原則進行函數調用。
總結:js只調用最后加載的函數F,之前同名的函數均被覆蓋