js變量提升(語法小坑)

正如《你不知道的javascript》一書中說的,js是一門腳本語言,使用者不需要像學java一樣完全語法等,甚至只會其中的一些簡單的命令就可以直接開發了。
但是開發越久越發現,在前端框架如此多的情況下,js基礎等纔是作爲一個前端經久不衰的祕訣。
看下方示例代碼運行結果是什麼:

var c = 1
function c(c) {
    console.log(c);
    var c = 3;
}
c(2);

其實是報錯:c不是一個function。是不是出乎一些人的意外。其實是js編譯時的變量聲明的提升而已。其實際代碼相當於下方:

var c;
function c(c) {
    console.log(c);
    var c = 3;
}
c=1;
c(2);

一眼就懂了吧。不積跬步無以至千里,打好基礎吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章