最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ECMAScript 原始值和引用值

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

原始值和引用值

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

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

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

在許多語言中,字符串都被看作引用類型,而非原始類型,因?yàn)樽址拈L(zhǎng)度是可變的。ECMAScript 打破了這一傳統(tǒng)。

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

存儲(chǔ)在堆和棧中的原始值和引用值

原始類型

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

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

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

满城县| 贵港市| 宜宾县| 旬邑县| 融水| 大兴区| 新巴尔虎左旗| 衡水市| 湘西| 孟连| 庆阳市| 甘孜县| 文登市| 虎林市| 滦平县| 竹山县| 玉山县| 高碑店市| 资源县| 沂南县| 沙雅县| 江永县| 富民县| 永泰县| 永德县| 沈阳市| 河间市| 高碑店市| 张家港市| 伊金霍洛旗| 于都县| 尉犁县| 丹阳市| 札达县| 苍梧县| 孟津县| 高陵县| 海丰县| 沙坪坝区| 二手房| 宁陵县|