您好,登錄后才能下訂單哦!
這篇文章主要介紹“javascript有沒有常量池”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“javascript有沒有常量池”文章能幫助大家解決問題。
JavaScript中有常量池;JavaScript的內存空間分為棧、堆、池、隊列,其中池指的就是常量池,常量值是用于存放常量的基本數據類型,一般將常量池歸類到棧內存中,常量池內的數據類型占用空間少、大小固定并且頻繁使用,所以系統效率較高。
本教程操作環境:windows10系統、javascript1.8.5版、Dell G3電腦。
javascript有常量池
JavaScript內存空間分為: 棧,堆,池,隊列。
棧內存:用來存儲基本數據類型
常量池:用來存放常量 基本數據類型(一般把它歸類到棧內存中)
堆內存:用來存儲引用數據類型
當變量存儲的基本數據類型時,該變量的值則存儲在棧內存中
當變量存儲的是引用數據類型時,該變量值則存儲的是一個系統分配的內存地址,而真正的引用數據類型則存放在堆內存中,而內存地址指向了在堆內存中的引用數據類型
棧內存
以基本數據類型之一的數值型(Number)為例:
當我們聲明一個基本數據類型變量時,會在棧內存中存儲變量名和具體值
當我們使用console.log(a) 時,我們輸出的是對應的值
擴展:
堆內存
如
let a={1,2,3} let b={m:20}
上圖我們可以看到,變量a1為基本數據類型,而變量b,c為引用數類型,b,c在棧中存放的并不是變量的值,而是系統分配的一個內存引用地址,真正的數據存放在堆內容中
當我們聲明變量來存儲一個引用數據類型時,會在棧內存中生成一個變量名和一個具體值,而這個具體值是系統分配的一個內存引用地址,這個地址指向了存放在堆內存中,我們所創建的引用數據類型。當我們調用該變量時,解析器會根據變量對應的引用地址,引用對應的對象。
關于“javascript有沒有常量池”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。