jq中的extend在面試中經(jīng)常會被問道,今天我總結一個下有關于extend的用法三種進行對比,可能不全,希望大家指點,
用法一: $.extend({}) ,為jQuery類添加方法,可以理解為擴展靜態(tài)方法

用法二:$.fn.extend({}) 插件,對jQuery.prototype進行擴展,提到插件那么就得說一下另一種方法$.fn.method = function(){}
1. $.fn.method = function(){} 可以定義一個方法

2 . $.fn.extend({}) 定義多個方法。
需要實例化:$().toChange(),那么它的原型方法才能使用

$.extend({})-- 靜態(tài)方法 和$.fn.extend({})--實例方法的區(qū)別 ,$是jQuery的簡寫
1:jQuery.extend() 的調(diào)用并不會把方法擴展到對象的實例上,引用它的方法也需要通過jQuery類來實現(xiàn)
2:jQuery.fn.extend()的調(diào)用把方法擴展到了對象的prototype上,所以實例化一個jQuery對象的時候,它就具有了這些方法、
3:jQuery.fn.extend = jQuery.prototype.extend

用法三:繼承。淺拷貝與深拷貝
1 . 淺拷貝 $.extend(a,b) a使用b的屬性

2 . 深拷貝 $.extend(true,a,b) a使用b的屬性

3 . 不管后面有多少個對象,都將成為第一個對象的屬性

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網(wǎng)!
新聞熱點
疑難解答