一、JS代碼執行以前 先把代碼中帶var 和帶function的提早聲明 var 只聲明不定義 function 聲明加定義 如果在大括號中的function 是隻聲明不定義的,只聲明不定義 給他的默認值是undefinedcode
例如:console.log(a); var a=1
的輸出結果就是undefinedcdn
二、 let const 暫時性死區 也就是在let前絕對不能調用對應的變量一調用就報錯對象
例如:console.log(b);let b=2;
輸出就會報錯blog
三、變量提高只提高變量左邊的部分 var 出來的變量會在window下增長一個對應的屬性:window是全局大對象 let const聲明出來的變量,不會在window中增長對應的屬性; 棧內存:存儲值類型,提供代碼運行環境; 堆內存:存儲引用數據類型內存
例如: it