[jQuery] jQuery的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?
生活随笔
收集整理的這篇文章主要介紹了
[jQuery] jQuery的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
[jQuery] jQuery的屬性拷貝(extend)的實現原理是什么,如何實現深拷貝?
一、jQuery.extend() 函數用于將一個或多個對象的內容合并到目標對象。 語法$.extend( target [, object1 ] [, objectN ] )指示是否深度合并$.extend( [deep ], target, object1 [, objectN ] )警告: 不支持第一個參數傳遞 false 。參數描述deep可選。 Boolean類型 指示是否深度合并對象,默認為false。如果該值為true,且多個對象的某個同名屬性也都是對象,則該"屬性對象"的屬性也將進行合并。targetObject類型 目標對象,其他對象的成員屬性將被附加到該對象上。object1可選。 Object類型 第一個被合并的對象。objectN可選。 Object類型 第N個被合并的對象。二、深拷貝代碼(把extend函數的第一個參數設置為true):var p = {"id":"007","name":"劉德華","wife":{"id":"008","name":"劉德的妻子","address":{"city":"北京","area":"海淀區"}}}//深度拷貝的方式(把extend函數的第一個參數設置為true),把p的屬性合并到jQuery($)上$.extend(true,$,p);p.wife.name="張三瘋";p.wife.address.city="香港";console.log($.id);console.log($.wife.name);console.log($.wife.address.city);console.log(p);控制臺打印結果:三、淺拷貝代碼(extend函數里不傳入第一個參數,默認為false):個人簡介
我是歌謠,歡迎和大家一起交流前后端知識。放棄很容易,
但堅持一定很酷。歡迎大家一起討論
主目錄
與歌謠一起通關前端面試題
總結
以上是生活随笔為你收集整理的[jQuery] jQuery的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cadence 怎么拼版_ALLEGRO
- 下一篇: 威纶通触摸屏直接与台达变频器进行MODB