js變量提升和函數提升

今天做了一份公司的筆試題目,把js中變量提升的知識寫下來。

var num = 1;
function test(){
    console.log(num);
    var num = 2;
    console.log(num);
}
test();

輸出結果爲undefined 和 2.
test1();
test2();
function test1(){
    alert(1);
}
var test2 = function(){
    alert(2);
}
上面代碼使用聲明式和字面量兩種方式創建函數。

函數test1可以調用,但函數test2不可以調用。

這裏涉及到JavaScript中變量提升和函數提升的知識。

在js中,每一個執行環境中的變量聲明都會提升到該執行環境的最頂端。

對於函數,只有函數聲明式也就是test1()可以進行函數提升被調用,但test2()不行。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章