兩個JS之間的函式互相呼叫
阿新 • • 發佈:2019-02-18
這個問題是我在工作中用到的一個方法 因為要做封裝
所以想到能不能在一個js中引用另一個js中的function
這樣的話能大大的減少程式碼量
話不多說 先上程式碼
首先要在html頁面引入兩個js檔案
1.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title> </title> </head> <script src="1.js"></script> <script src="2.js"></script> <body> </body> </html>
1.js
function a(){
alert(1);
}
2.js
a();
這樣2.js就可以直接呼叫1.js中的a函數了
當然這樣只是很簡單的方法 下面寫一個閉包中的方法(當然也很簡單啦~~)
1.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title> </title> </head> <script src="1.js"></script> <script src="2.js"></script> <body> </body> </html>
1.js
var dianji;
(function(){
dianji = {
a:function(){
alert(1);
}
}
})()
這裡的1.js是一個物件函式而且還是閉包的形式,所以我們要把dianji這個變數提升到全域性。這樣在2.js中才能呼叫這個a函式 不然回報變數未定義的錯誤。
想要js之間互相呼叫function,那麼函式就必須是全域性的
2.js
dianji.a();