javascript中的計算題

來源:互聯網
上載者:User

標籤:對象   簡單的   rip   題目   另一個   number   cti   script   就是   

一、js中的資料類型共六種:

實值型別五種:Boolea   Number  String  Null  undefined

參考型別:Object ----三大參考型別:Object   Array  Function

題目1: var a = 100;

    var b = a;

      a = 200;

    console.log (b);

題目2: var a = {age : 20};

    var b = a;

    b.age = 21;

    console.log (a.age);

題目1的答案是 100,題目2的答案是21,

題目1是簡單的實值型別,在從一個變數向另一個變數賦值基本類型時,會在該變數上建立一個新值,然後再把該值複製到為新變數分配的位置上。

此時,a中儲存的值為 100 ,當使用 a 來初始化 b 時,b 中儲存的值也為100,但b中的100與a中的是完全獨立的,該值只是a中的值的一個副本,此後,
這兩個變數可以參加任何操作而相互不受影響。也就是說基本類型在賦值操作後,兩個變數是相互不受影響的。

題目2是參考型別,當從一個變數向另一個變數賦值參考型別的值時,同樣也會將儲存在變數中的對象的值複製一份放到為新變數分配的空間中。

這時儲存在變數中的是對象在堆記憶體中的地址,所以,與簡單賦值不同,這個值的副本實際上是一個指標,而這個指標指向儲存在堆記憶體的一個對象。那麼賦值操作後,
兩個變數都儲存了同一個對象地址,則這兩個變數指向了同一個對象。因此,改變其中任何一個變數,都會相互影響。

因此,參考型別的賦值其實是對象儲存在棧區地址指標的賦值,因此兩個變數指向同一個對象,任何的操作都會相互影響。

 

javascript中的計算題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.