變量提高

主要知識點

一、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

由於提高變量只提高了最左邊的a因此並無定義b因此報錯
相關文章
相關標籤/搜索