<thead id="jxdzp"><address id="jxdzp"><pre id="jxdzp"></pre></address></thead>

<em id="jxdzp"><span id="jxdzp"></span></em>

    <listing id="jxdzp"><nobr id="jxdzp"><meter id="jxdzp"></meter></nobr></listing>

      <address id="jxdzp"></address>
      <noframes id="jxdzp"><form id="jxdzp"><th id="jxdzp"></th></form>
      <noframes id="jxdzp"><form id="jxdzp"><th id="jxdzp"></th></form>

          訂閱本欄目 RSS您所在的位置: 深山工作室 > HTML > 正文

          Object.assign的一些用法

          2020/11/12 20:19:03 字體: 瀏覽 2648

          用法1:替換數組的值

          let a = [1,2,3],b = [4,5]
          console.log( Object.assign(a,b)); // 后面的值覆蓋前面的值,[4,5,3]


          用法2:為對象添加屬性
          下面是es5的寫法:this.xxx =xxx

            //    es5的寫法
                 class Test{
                      constructor(x,y){
                          this.x =x
                          this.y = y
                      }

                      sum(){
                          return this.x + this.y
                      }
                 }
                 let t = new Test(1,2)
                 console.log(t.sum());



          用Object.assign的寫法

                 // Object.assign的寫法
                 class Test2{
                     constructor(x,y){
                       Object.assign(this,{x,y})
                     }
                     sum2(){
                         
                         return this.x + this.y
                     }
                 }

                 let t2 = new Test2(1,2)
                 console.log(t2.sum2());



          用法3 深度克隆對象

          //    用法3 深度克隆對象
               let clone = (orignObj) => {
                      let originProto = Object.getPrototypeOf(orignObj)
                      return Object.assign(Object.create(originProto), orignObj)
                  }
                  let obj3 = { name: 'zs', age: 12 }
                  console.log(clone(obj3));



          用法4:合并對象屬性
          下面這種寫法,合并后,原來的兩個對象都已經改變
          // example1
                  let obj = {name:'zs'} ,obj2 = {name:'zs',age:12}
                  let merge = (target, ...v) => Object.assign(target, ...v)
                  console.log(merge(obj,obj2));// {name:'zs',age:12}
                  console.log(obj,obj2); // 合并后,兩個對象都已經改變,值都是 {name:'zs',age:12}
          如果不想改變原來的對象,可以用下面這個寫法

            // example2 合并后,返回一個新對象,不更改原有對象的屬性
                  let merge2 = (...v) => Object.assign({}, ...v)
                  console.log(merge2(obj, obj2));// {name:'zs',age:12}
                  console.log(obj); //  原來的對象保持原樣  {name:'zs'}
                  console.log(obj2); //  原來的對象保持原樣  {name:'zs',age:12}

          //合并對象,還可以用展開操作符
          let obj5 = {name:'zs'},obj6 = {age:12}
          let newOjb = {...obj5,...obj6}
          console.log(newOjb);

                 
          用法5.為默認對象新增屬性

          const DEFAULTS = { name: 'zs', age: 13 } // 默認對象
          let createObjWithDefault = (opt) => Object.assign({}, DEFAULTS, opt)
          console.log(createObjWithDefault({ 'addr': 'gz' }));

          相關閱讀
          微信小程序發送給朋友與分享到朋友圈顯示灰色的但是按鈕分享可以使用
          開始百度小程序開發需要準備工作
          通過設置iis的進程池讓網站的并發數,性能提升幾個檔次
          asp許愿墻程序終于設計得差不多了,現在開放
          微軟公司的三道面試題目看了會有意想不到的收獲
          振輝消音器
          各個蘋果手表型號版本對比以及查看蘋果手機Apple Watch型號
          深山行者旅行社網站管理系統 v1.4
          共有0條關于《Object.assign的一些用法》的評論
          發表評論
          正在加載評論......
          返回頂部發表評論
          呢 稱:
          表 情:
          內 容:
          評論內容:不能超過 1000 字,需審核,請自覺遵守互聯網相關政策法規。
          驗證碼: 驗證碼 
          網友評論聲明,請自覺遵守互聯網相關政策法規。

          您發布的評論即表示同意遵守以下條款:
          一、不得利用本站危害國家安全、泄露國家秘密,不得侵犯國家、社會、集體和公民的合法權益;
          二、不得發布國家法律、法規明令禁止的內容;互相尊重,對自己在本站的言論和行為負責;
          三、本站對您所發布內容擁有處置權。

          更多信息>>欄目類別選擇
          百度小程序開發
          微信小程序開發
          微信公眾號開發
          uni-app
          asp函數庫
          ASP
          DIV+CSS
          HTML
          python
          更多>>同類信息
          dw里面查找替換使用正則刪除sqlserver里面的CONSTRAINT
          javascript獲取瀏覽器指紋可以用來做投票
          火狐Mozilla Firefox出現:無法載入您的Firefox配置文件 它可能已經丟失 或是無法訪問 問題解決集合處理辦法
          DW設置之后更好用 DreamweaverCS編輯GB2312與UTF-8文件在代碼視圖中點擊鼠標錯位問題的解決辦法
          js指定日期加n天加n月加n年
          jquery中動態生成的代碼使用on hover事件時不出現效果
          更多>>最新添加文章
          dw里面查找替換使用正則刪除sqlserver里面的CONSTRAINT
          Android移動端自動化測試:使用UIAutomatorViewer與Selenium定位元素
          抖音直播音掛載小雪花 懂車帝小程序
          javascript獲取瀏覽器指紋可以用來做投票
          火狐Mozilla Firefox出現:無法載入您的Firefox配置文件 它可能已經丟失 或是無法訪問 問題解決集合處理辦法
          在Android、iOS、Windows、MacOS中微信小程序的文件存放路徑
          python通過代碼修改pip下載源讓下載庫飛起
          python里面requests.post返回的res.text還有其它的嗎
          更多>>隨機抽取信息
          uni-app 搜索、歷史記錄功能簡單實現
          利用javascript讓PNG透明圖片支持支持(IE6、IE7、firefox下測試通過)
          微信小程序客服會話只能過button讓用戶主動觸發
          圣誕節12.5號,卡通形象留言板模板
          uni-app 動態設置頁面標題 setNavigationBarTitle
          理解css里的!important是什么意思?
          88国产精品视频一区二区三区