|
在正式開始之前,我想先說兩句,理解Javascript系列博文是通過帶領(lǐng)大家分析Javascript執(zhí)行時的內(nèi)存分配情況,來解釋Javascript原理,具體會涵蓋Javascript預(yù)加載,閉包原理,面象對象,執(zhí)行模型,對象模型...,文章的視角很特別,也非常深入,希望大家能接受這種形式,并提供寶貴意見。
原始值和引用值
在ECMAScript中,變量可以存放兩種類型的值,即原始值和引用值。原始值指的就是代表原始數(shù)據(jù)類型(基本數(shù)據(jù)類型)的值,即Undefined,Null,Number,String,Boolean類型所表示的值。引用值指的就是復(fù)合數(shù)據(jù)類型的值,即Object,Function,Array,以及自定義對象,等等。
棧和堆
與原始值與引用值對應(yīng)存在兩種結(jié)構(gòu)的內(nèi)存即棧和堆。棧是一種后進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),在Javascript中可以通過Array來模擬棧的行為
var arr = []; //創(chuàng)建一個棧arr.push("apple");//壓入元素"apple" ["apple"]arr.push("orange");//壓入元素"orange" ["apple","orange"]arr.pop();//彈出"orange" ["apple"]arr.push("banana");//壓入元素"banana" ["apple","banana"]
it知識庫:理解Javascript_01_理解內(nèi)存分配,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。