引用類(lèi)型對(duì)象拷貝

引用類(lèi)型有哪些?非引用類(lèi)型有哪些

  • 引用類(lèi)型值(對(duì)象、數(shù)組、函數(shù)、正則():指的是那些保存在堆內(nèi)存中的對(duì)象,變量中保存的實(shí)際上只是一個(gè)指針,這個(gè)指針執(zhí)行內(nèi)存中的另一個(gè)位置,由該位置保存對(duì)象。
  • 非引用類(lèi)型
    非引用類(lèi)型(基本類(lèi)型值)(數(shù)值、布爾值、null和undefined):指的是保存在棧內(nèi)存中的簡(jiǎn)單數(shù)據(jù)段;

如下代碼輸出什么?為什么?

代碼1.jpg
1答案.jpg

如下代碼輸出什么? 為什么?

代碼2.jpg
2答案.jpg

如下代碼輸出什么? 為什么?

3.jpg

3答案.jpg

過(guò)濾如下數(shù)組,只保留正數(shù),直接在原數(shù)組上操作

代碼4.jpg
4答案.jpg

過(guò)濾如下數(shù)組,只保留正數(shù),原數(shù)組不變,生成新數(shù)組

代碼5.jpg
5答案.jpg

寫(xiě)一個(gè)深拷貝函數(shù),用兩種方式實(shí)現(xiàn)

方法1

    function deepCopy(oldObj) {
    var newObj = {};
      for(var key in oldObj) {
          if(typeof oldObj[key] === 'object') {
              newObj[key] = deepCopy(oldObj[key]);
          }else{
            newObj[key] = oldObj[key];
          }
        }
    return newObj;
    }

方法2

      function deepCopy2(obj){
      return JSON.parse(JSON.stringify(obj));
      }
      var obj3 = {
        name:"ruoyu",
        age:20
      }
      var obj4 = deepCopy2(obj3);
      console.log(obj4);
      obj3.age = 33;
      console.log(obj4.age);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1.引用類(lèi)型有哪些?非引用類(lèi)型有哪些非引用類(lèi)型值,即基本類(lèi)型值(數(shù)值,布爾值,undefined,null):指保...
    青鳴閱讀 418評(píng)論 0 0
  • 引用類(lèi)型 引用類(lèi)型變量保存的僅僅是一個(gè)指針,指針指向堆內(nèi)存中保存對(duì)象的位置。 所以基本類(lèi)型復(fù)制的時(shí)候僅僅復(fù)制值,復(fù)...
    DeeJay_Y閱讀 586評(píng)論 0 0
  • 1.引用類(lèi)型有哪些?非引用類(lèi)型有哪些 基本類(lèi)型值(數(shù)值、布爾值、null和undefined):指的是保存在棧內(nèi)存...
    Feiyu_有貓病閱讀 267評(píng)論 0 0
  • 1.引用類(lèi)型有哪些?非引用類(lèi)型有哪些 基本類(lèi)型值(Number、Boolean、string、null和undef...
    saintkl閱讀 364評(píng)論 0 0
  • 1.引用類(lèi)型有哪些?非引用類(lèi)型有哪些 非引用類(lèi)型值,即基本類(lèi)型值(數(shù)值,布爾值,undefined,null):指...
    LINPENGISTHEONE閱讀 217評(píng)論 0 0