按照常理來說,在<body>標簽結束之前以下面的方式引入兩個js文件
<script src="a.js"></script>
<script src="b.js"></script>
則兩個js文件中的函數就可以互相調用,但是如果按照這樣的方式引入后,在調用的時候一直提示該函數is not defined
放在同一個js文件中沒有任何問題,分成兩個就無法找到
那可以嘗試這樣的函數定義
var fun = function (a,b){
return a+b;
}
為什么會出現這種情況,原因如下:
1.函數聲明
function
sum1(n1,n2){
return
n1+n2;
};
2.函數表達式,又叫函數字面量
var
sum2=
function
(n1,n2){
return
n1+n2;
};
兩者的區別:解析器會先讀取函數聲明,並使其在執行任何代碼之前可以訪問;而函數表達式則必須等到解析器執行到它所在的代碼行才會真正被解釋執行。