成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JS中基本數(shù)據(jù)類型和引用類型最根本的區(qū)別

Lavender / 2134人閱讀

摘要:前言中的類型只有種,其中基本數(shù)據(jù)類型有種分別為,引用類型有一種,就是,是一個大的綜合體,在中除了那個基本數(shù)據(jù)類型以外,其他的一切皆對象。

前言
JS中的類型只有6種,其中基本數(shù)據(jù)類型有5種分別為string,number,boolen,null,undefined,引用類型有一種,就是object,object是一個大的綜合體,在JS中除了那5個基本數(shù)據(jù)類型以外,其他的一切皆對象。
正文 兩個對比的例子
基本數(shù)據(jù)類型
var a = 100;
var b = a;
a++

console.log(a)//101
console.log(b)//100
引用類型(對象)
var obj1 = new object();
var obj2 = new object();
    obj1.age = 18;
    obj2 = obj1;
    obj1.age++

console.log(obj1.age)//19
console.log(obj2.age)//19

??可以看到上面兩個例子都是改變了值,基本數(shù)據(jù)類型是被賦值的不會變,而引用的是被賦值的也會隨之發(fā)生改變,那么這是為什么呢?其實很簡單,一句話就可以概括:因為基本數(shù)據(jù)類型保存的是值,而引用類型保存的是地址。

解釋例子

??創(chuàng)建一個新的變量時,會將它存放在棧中,如果是對象的話,就會在另外的更大的堆中劃分一片區(qū)域,那么在棧中該對象存放的就是在堆中的地址。

基本數(shù)據(jù)類型

如上圖,基本數(shù)據(jù)類型是直接在棧中存放值的,當(dāng)a發(fā)生變化的時候,b不會發(fā)生變化,因為b只是等于a的值,和a沒有什么關(guān)系。

引用類型(對象)

??在obj1和obj2中存放的都是地址,obj2不是等于obj1的值,而是等于obj1在堆中存放的地址,所以當(dāng)?shù)刂分械膬?nèi)容發(fā)生變化時,obj2的內(nèi)容也會發(fā)生變化。只要創(chuàng)建一個新的對象,在堆中就會開辟一個新的區(qū)域去存放對象的屬性和方法等內(nèi)容。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/97761.html

相關(guān)文章

  • 深拷貝 vs 淺拷貝

    摘要:那么如何切斷和之間的關(guān)系呢,可以拷貝一份的數(shù)據(jù),根據(jù)拷貝的層級不同可以分為淺拷貝和深拷貝,淺拷貝就是只進(jìn)行一層拷貝,深拷貝就是無限層級拷貝。 深拷貝 vs 淺拷貝 深拷貝和淺拷貝都是針對的引用類型,JS中的變量類型分為值類型(基本類型)和引用類型;對值類型進(jìn)行復(fù)制操作會對值進(jìn)行一份拷貝,而對引用類型賦值,則會進(jìn)行地址的拷貝,最終兩個變量指向同一份數(shù)據(jù)。 // 基本類型 var a = ...

    sugarmo 評論0 收藏0
  • JavaScript深淺拷貝

    摘要:實際上,是禁止這樣做的。傳值和傳址基本數(shù)據(jù)類型賦值基本數(shù)據(jù)類型的賦值是在內(nèi)存中新開辟一段棧內(nèi)存,然后再把再將值賦值到新的棧中。結(jié)果見輸出,可以看出來,無論是修改賦值得到的對象和淺拷貝得到的都會改變原始數(shù)據(jù)。 存儲問題:深拷貝和淺拷貝的主要區(qū)別:在內(nèi)存中的存儲類型(堆和棧)不同堆:動態(tài)分配的內(nèi)存,大小不定也不會自動釋放棧:自動分配的內(nèi)存,由系統(tǒng)自動釋放數(shù)據(jù)類型: 基本數(shù)據(jù)類型: jav...

    zhjx922 評論0 收藏0
  • 詳解js深淺復(fù)制

    摘要:從而也引出了所謂的深淺復(fù)制問題。附注對于淺復(fù)制,其實還有其他的實現(xiàn)方式,比如數(shù)組中和方法,對于這些還是希望大家自己了解,本本主要針對深淺復(fù)制的實現(xiàn)原理進(jìn)行解析。 前言 在之前寫繼承的過程談到了深淺復(fù)制的問題,因為有讀者反映到需要解析,趁今天周末寫一篇解析,今天的主體相對之前來說理解難度低一些,篇幅可能也比較短,諸君按需閱讀即可。 從兩種數(shù)據(jù)類型說起 在js中,變量的類型可以大致分成兩種...

    Lin_YT 評論0 收藏0
  • React 性能優(yōu)化(一)當(dāng) PureComponent 遇上 ImmutableJS

    摘要:四是在年出的持久性數(shù)據(jù)結(jié)構(gòu)的庫,持久性指的是數(shù)據(jù)一旦創(chuàng)建,就不能再被更改,任何修改或添加刪除操作都會返回一個新的對象。避免大量使用操作,這樣會浪費性能。盡量將設(shè)計成扁平狀的。 一、痛點 在我們的印象中,React 好像就意味著組件化、高性能,我們永遠(yuǎn)只需要關(guān)心數(shù)據(jù)整體,兩次數(shù)據(jù)之間的 UI 如何變化,則完全交給 React Virtual Dom 的 Diff 算法 去做。以至于我們很...

    plus2047 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<