js實值型別與參考型別

來源:互聯網
上載者:User

標籤:undefined   哪些   基本   nike   等於   java   fine   標準   var   

JavaScript實值型別和參考型別有哪些 

(1)實值型別:數值、布爾值、null、undefined。 

(2)參考型別:對象、數組、函數。 

三、如何理解實值型別和參考型別及舉例 

我們可以用“連鎖店”和“連鎖店鑰匙”來理解,不知道以下比喻合不合適,^-^。 

(1)實值型別理解:變數的交換等於在一個新的地方按照連鎖店的規範標準(統一店面理解為相同的變數內容)新開一個分店,這樣新開的店與其它舊店互不相關、各自運營。 

【實值型別例子】

 代碼如下:
function chainStore() 

var store1=‘Nike China‘; 
var store2=store1; 
store1=‘Nike U.S.A.‘; 
alert(store2); //Nike China 

chainStore(); 
//把一個實值型別(也可以叫基本類型)store2傳遞給另一個變數(賦值)時,其實是分配了一塊新的記憶體空間,因此改變store1的值對store2沒有任何影響,因為它不像參考型別,變數的交換其實是交換了指像同一個內容的地址。


(2)參考型別理解:變數的交換等於把現有一間店的鑰匙(變數引用地址)複製一把給了另外一個老闆,此時兩個老闆同時管理一間店,兩個老闆的行為都有可能對一間店的運營造成影響。 

【參考型別例子】

 代碼如下:
function chainStore() 

var store1=[‘Nike China‘]; 
var store2=store1; 
alert(store2[0]); //Nike China 
store1[0]=‘Nike U.S.A.‘; 
alert(store2[0]); //Nike U.S.A. 

chainStore(); 
//在上面的代碼中,store2隻進行了一次賦值,理論上它的值已定,但後面通過改寫store1的值,發現store2的值也發生了改變,這正是參考型別的特徵,也是我們要注意的地方。

js實值型別與參考型別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.