JavaScript上的各種函數聲明
函數聲明方式
function func(){}
函數表達式方式
var 函數名 = function(參數1,參數2,...){};
var 函數名 = function(參數1,參數2,...){}();
若後面直接加上一個括號,直接調用該函數
使用Function構造函數
所有function都是屬於Function類的
var sum = new Function("num1","num2","return num1+num2");
注意,這種聲明方式比較消耗效率,影響性能,不會經常使用。但是這種方式去理解對象,是非常直觀的。
匿名函數對函數的使用(閉包使用)
(function(){
//獨立作用域
})();
因爲開發中是一個團隊的,難免有函數命名的衝突,這種方式不給函數命名,直接調用函數,從而避免了函數重名的缺點
–
函數的對比
alert(sum(10,10));//20
function sum(num1,num2){
return num1+num2;
}
函數聲明提升,執行結果爲20.能正常輸出,這樣聲明函數,函數會被提升,像c++那樣提前聲明函數
alert(sum(10,10));//20
var sum = function(num1,num2){
return num1+num2;
};
出錯,這樣聲明,函數不會被提升,當執行到sum(10,10),顯示函數不在沒有聲明