JavaScript上的各種函數聲明

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),顯示函數不在沒有聲明

個人博客原文:http://biyongyao.com/archives/135

發佈了35 篇原創文章 · 獲贊 7 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章