亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

深度剖析js數(shù)組

lordharrd / 849人閱讀

摘要:且原始數(shù)組不會被修改。語法從上面的例子可以看到其實是重新開了一個內(nèi)存塊給新數(shù)組了,所以我們可以用來解決上面的問題在內(nèi)存中開個新內(nèi)存塊給,這樣就算你改了的內(nèi)容,也不會變。

1、數(shù)組是引用類型

大家應該都知道數(shù)組和對象都是引用類型,如果一個數(shù)組賦值給另外一個數(shù)組只是將該數(shù)組的引用地址賦給另一個數(shù)組!比如:

    let a = [{
        id:1.
        name:"zhangwei",
        age:18
    }];
    
    let b = a;//這里將a的引用地址的指針指向了b,所以如果你想獲取b的內(nèi)容,其實就是獲取a的內(nèi)容,相當于給a開了一個副本

上面的代碼有一定的副作用:就是如果你改變了a的值那么b的值就會跟著變化,這也就是引用地址造成的,因為a和b指針指向的是同一個內(nèi)存區(qū)域,如:

    a.name = "lilei"
    console.log(b.name)//這時候b.name 就是 "lilei"
2、斷開數(shù)組間的引用地址

像上面的 "副作用" 我們?nèi)绾谓鉀Q呢?因為我不想改變了a的同時讓b也變化!其實方法也有好多種,網(wǎng)上百度一下應該也能查到,這里我使用的是我目前使用的方法 array的slice()方法,按照MDN Array slice 上面的說明:

   slice() 方法返回一個從開始到結(jié)束(不包括結(jié)束)選擇的數(shù)組的一部分淺拷貝到一個新數(shù)組對象。且原始數(shù)組不會被修改。

語法Edit
arr.slice();
// [0, end]

arr.slice(begin);
// [begin, end]

arr.slice(begin, end);
// [begin, end)

var animals = ["ant", "bison", "camel", "duck", "elephant"];

console.log(animals.slice(2));
// expected output: Array ["camel", "duck", "elephant"]

console.log(animals.slice(2, 4));
// expected output: Array ["camel", "duck"]

console.log(animals.slice(1, 5));
// expected output: Array ["bison", "camel", "duck", "elephant"]

從上面的例子可以看到slice其實是重新開了一個內(nèi)存塊給新數(shù)組了,所以我們可以用來解決上面的問題:

let a = [{
        id:1.
        name:"zhangwei",
        age:18
    }];
let b = a.slice();//在內(nèi)存中開個新內(nèi)存塊給b,這樣就算你改了a的內(nèi)容,b也不會變。

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

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

相關(guān)文章

  • js對象詳解(JavaScript對象深度剖析深度理解js對象)

    摘要:對象詳解對象深度剖析,深度理解對象這算是醞釀很久的一篇文章了。用空構(gòu)造函數(shù)設置類名每個對象都共享相同屬性每個對象共享一個方法版本,省內(nèi)存。 js對象詳解(JavaScript對象深度剖析,深度理解js對象) 這算是醞釀很久的一篇文章了。 JavaScript作為一個基于對象(沒有類的概念)的語言,從入門到精通到放棄一直會被對象這個問題圍繞。 平時發(fā)的文章基本都是開發(fā)中遇到的問題和對...

    CatalpaFlat 評論0 收藏0
  • 深度剖析 redux applyMiddleware 中 compose 構(gòu)建異步數(shù)據(jù)流的思路

    摘要:前言本文作者站在自己的角度深入淺出算了別這么裝逼分析在設計過程中通過構(gòu)建異步數(shù)據(jù)流的思路。看上去那是相當?shù)耐昝?,根?jù)咱們寫代碼的思路咱們來比對一下原版吧。時直接返回傳入函數(shù)函數(shù)。 前言 本文作者站在自己的角度深入淺出...算了別這么裝逼分析 redux applyMiddleware 在設計過程中通過 compose 構(gòu)建異步數(shù)據(jù)流的思路。自己假設的一些場景幫助理解,希望大家在有異步數(shù)...

    tinylcy 評論0 收藏0
  • 針對vue wtach一次詳細的剖析

    摘要:提問深度與非深度的區(qū)別對象與數(shù)組與的區(qū)別的一個特點是,最初綁定的時候是不會執(zhí)行的,要等到改變時才執(zhí)行監(jiān)聽計算。為一個對象,鍵是需要觀察的表達式,值是對應回調(diào)函數(shù)。值也可以是方法名,或者包含選項的對象適用場景一個數(shù)據(jù)影響多個數(shù)據(jù)。 提問 1.深度watch與非深度watch的區(qū)別;2.watch對象與數(shù)組;3.watch與computed的區(qū)別; immediate FullNa...

    crossoverJie 評論0 收藏0
  • 深度剖析憑什么python中整型不會溢出

    摘要:前言本次分析基于解釋器,版本在時代,整型有類型和長整型,長整型不存在溢出問題,即可以存放任意大小的整數(shù)。在后,統(tǒng)一使用了長整型。 前言 本次分析基于 CPython 解釋器,python3.x版本 在python2時代,整型有 int 類型和 long 長整型,長整型不存在溢出問題,即可以存放任意大小的整數(shù)。在python3后,統(tǒng)一使用了長整型。這也是吸引科研人員的一部分了,適合大數(shù)據(jù)...

    MSchumi 評論0 收藏0

發(fā)表評論

0條評論

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