js的基礎類型與引用類型


引用類型,自己的感覺,就是  引用~類型~ ,就是把js中的基礎類型(js中並沒有類的概念)引用過來給自己用然后就變成了引用類型,那么js的基礎類型和引用類型到底在內存中是怎么操作的呢,請看:

兩種類型:

1.   ECMAScript變量包含兩種不同類型的值:基本類型值、引用類型值;

2.   基本類型值:指的是保存在棧內存中的簡單數據段;

3.   引用類型值:指的是那些保存在堆內存中的對象,意思是,變量中保存的實際上只是一個指針,這個指針執行內存中的另一個位置,由該位置保存對象;

兩種訪問方式:

4.   基本類型值:按值訪問,操作的是他們實際保存的值;

5.   引用類型值:按引用訪問,當查詢時,我們需要先從棧中讀取內存地址,然后再順藤摸瓜地找到保存在堆內存中的值;

兩種類型復制

 

1.   基本類型變量的復制:從一個變量向一個變量復制時,會在棧中創建一個新值,然后把值復制到為新變

量分配的位置上;

1.   引用類型變量的復制:復制的是存儲在棧中的指針,將指針復制到棧中未新變量分配的空間中,而這個指針副本和原指針執行存儲在堆中的同一個對象;

2. 復制操作結束后,兩個變量實際上將引用同一個對象;因此改變其中的一個,將影響另一個;

函數參數的傳遞:

 

1.   ECMA中所有函數的參數都是按值傳遞的;

 

 

兩種變量類型檢測

 

1.   Typeof操作符是檢測基本類型的最佳工具;

2.   如果變量值是nul或者對象,typeof 將返回“object”;

3.   Instanceof用於檢測引用類型,可以檢測到具體的,它是什么類型的實例;

4.   如果變量是給定引用類型的實例,instanceof操作符會返回true;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM