千鋒教育JavaScript全套視頻教程(10天學(xué)會(huì)Js,前端javascrip

堆(heap)和棧(stack)
基本數(shù)據(jù)類型、引用數(shù)據(jù)類型
基本數(shù)據(jù)類型(原始數(shù)據(jù)類型、簡(jiǎn)單數(shù)據(jù)類型)
指簡(jiǎn)單的數(shù)據(jù)段,存儲(chǔ)在棧(stack)中
number、string、 boolean、undefined、null
值傳遞:基本類型的數(shù)據(jù)進(jìn)行的是值傳遞
說明:將一個(gè)變量賦值給另外一個(gè)變量,是將這個(gè)變量的值復(fù)制一份進(jìn)行賦值, 最終兩個(gè)變量的值一樣,在內(nèi)存中各自獨(dú)立。改變其中一個(gè)變量,對(duì)于另外一個(gè)變量不產(chǎn)生影響。
引用數(shù)據(jù)類型(對(duì)象數(shù)據(jù)類型、復(fù)雜數(shù)據(jù)類型)
? 指多個(gè)值構(gòu)成的對(duì)象,存儲(chǔ)在堆(heap)中
Function、Array、 Object、Date...、Set、Map
引用傳遞:引用類型的數(shù)據(jù) 進(jìn)行的是 引用傳遞(引用地址的傳遞)
說明:變量是保存在棧內(nèi)存中的 一個(gè)指向堆內(nèi)存中引用地址 的指針(變量==>指針),對(duì)于引用類型數(shù)據(jù),變量存儲(chǔ)的是堆內(nèi)存中的引用地址
如果將一個(gè)變量賦值給另外一個(gè)變量,是將這個(gè)變量的指針(堆內(nèi)存的引用地址) 賦值給它,兩個(gè)變量指向同一個(gè)引用地址。因此改變其中一個(gè)變量存儲(chǔ)的數(shù)據(jù),另外一個(gè)變量存儲(chǔ)的數(shù)據(jù)也會(huì)發(fā)生變化
基本數(shù)據(jù)類型比較的是:值(變量存儲(chǔ)的數(shù)據(jù))
引用數(shù)據(jù)類型比較的是:引用地址