jQuery学习笔记之extend方法小结
在學習jQuery的時候,學習到了$.extend的主要用法,在此做一個簡單的總結。
(1)當只寫一個對象自變量時,拓展的是jQuery的工具方法,如:
$.extend({aaa:function(){alert('a')},bbb:function(){alert('b')}})調用就是$.aaa();? $.bbb();
也可以拓展jQuery對象的方法,如:
調用方式是$().aaa();? $().bbb();
還有一點需要注意,jQuery的工具拓展方法和對象的拓展方法是指向同一個引用的,jQuery.extend = jQuery.fn.extend = function() {}
(2)拓展對象,$.extend(dest,src1,src2,src3...),其中dest表示合并后的對象,如:
new1={name:'jimmy',age:20}; new2={age:18,sex:'female'}; new3={ sex:'male',family:'brother'} newobj={} var newEst=$.extend(newobj,new1,new2,new3);運行結果為
從結果可以看出newobj對象合并了其它三個對象的屬性,已有的屬性,則替換值,沒有的屬性合并加進來;
(3)拓展對象,$.extend(boolean,dest,src1,src2,src3...),第一個參數為boolean,代表是否進行深度拷貝,例:
city1={ name:'jack',age:128,location:{from:'USA',state:'good'}}; city2={ name:'jack',age:18,location:{from:'CN',city:'CQ'}}; var newcity1=$.extend(true,city1,city2); var newcity2=$.extend(false,city1,city2); console.log(newcity1); console.log(newcity2);newcity1的結果為,可以看出location對象中,也進行了拷貝;
?
newcity1的結果為,可以看出只是將city2中的location,進行合并,并沒有進行內部內容的合并。
?
?
在自己學習的過程中,也看到了許多有關jQuery.extend()方法總結的非常好的博文,并進行了參考,非常感謝。
參考博文:http://www.cnblogs.com/RascallySnake/archive/2010/05/07/1729563.html
?
轉載于:https://www.cnblogs.com/zqllove/p/4139756.html
總結
以上是生活随笔為你收集整理的jQuery学习笔记之extend方法小结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汽车电池包-云100
- 下一篇: java学习笔记1--开发环境平台总结