五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 建站教程 > JavaScript 教程 > ECMAScript 原始值和引用值

ECMAScript 原始值和引用值

此節(jié)有 219 人學習過     參與評論

在 ECMAScript 中,變量可以存在兩種類型的值,即原始值和引用值。

原始值和引用值

在 ECMAScript 中,變量可以存在兩種類型的值,即原始值和引用值。

原始值
存儲在棧(stack)中的簡單數(shù)據(jù)段,也就是說,它們的值直接存儲在變量訪問的位置。
引用值
存儲在堆(heap)中的對象,也就是說,存儲在變量處的值是一個指針(point),指向存儲對象的內存處。

為變量賦值時,ECMAScript 的解釋程序必須判斷該值是原始類型,還是引用類型。要實現(xiàn)這一點,解釋程序則需嘗試判斷該值是否為 ECMAScript 的原始類型之一,即 Undefined、Null、Boolean、Number 和 String 型。由于這些原始類型占據(jù)的空間是固定的,所以可將他們存儲在較小的內存區(qū)域 - 棧中。這樣存儲便于迅速查尋變量的值。

在許多語言中,字符串都被看作引用類型,而非原始類型,因為字符串的長度是可變的。ECMAScript 打破了這一傳統(tǒng)。

如果一個值是引用類型的,那么它的存儲空間將從堆中分配。由于引用值的大小會改變,所以不能把它放在棧中,否則會降低變量查尋的速度。相反,放在變量的??臻g中的值是該對象存儲在堆中的地址。地址的大小是固定的,所以把它存儲在棧中對變量性能無任何負面影響。如下圖所示:

存儲在堆和棧中的原始值和引用值

原始類型

如前所述,ECMAScript 有 5 種原始類型(primitive type),即 Undefined、Null、Boolean、Number 和 String。ECMA-262 把術語類型(type)定義為值的一個集合,每種原始類型定義了它包含的值的范圍及其字面量表示形式。

ECMAScript 提供了 typeof 運算符來判斷一個值是否在某種類型的范圍內。可以用這種運算符判斷一個值是否表示一種原始類型:如果它是原始類型,還可以判斷它表示哪種原始類型。

在稍后的章節(jié),我們將為您深入講解 ECMAScript 的原始類型和引用類型。

如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答!! 點擊進入論壇

您可能感興趣的文章:

發(fā)表評論 (219人查看,0條評論)
請自覺遵守互聯(lián)網(wǎng)相關的政策法規(guī),嚴禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------
JavaScript 教程目錄

其它欄目

· 建站教程
· 365學習

業(yè)務咨詢

· 技術支持
· 服務時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權所有 鄂ICP備17013400號