jQuery.extend()詳解

jQuery.extend()方法做用是,用一個或多個其餘對象來擴展一個對象。
一般使用格式以下:
jQuery.extend(dest,src1,src2,src3...);
上述代碼含義是:將src一、src二、src3合併到dest中,並返回dest。
示例:數組

var dest = {name:'zhu',age:'15'};
    var src1 = {name:'zhang',age:'18'};
    var src2 = {name:'zhou',age:'25'};
    var src3 = {num:15,city:'hongkong'};
    var src4 = {grade:98,course:'math'};
    $.extend(dest,src3,src4);
    console.log(dest);

此時控制檯輸出的合併後的dest以下:
圖片描述spa

注意到jQuery.extend()方法是會改變被拓展的對象的,若是不想改變原對象,能夠把第一個參數設置爲{}。
在本文的開頭有提到過jQuery.extend()方法拓展的是對象,其實在JS裏面數組也是對象,如:插件

var dest = {name:'zhu',age:'15'};
var src = [1,2];
$.extend(dest,src);
console.log(dest);

控制檯輸出的dest爲:
圖片描述code

此時會把數組的索引值當作屬性進行合併。
若是該方法裏面兩個參數都是數組呢?對象

var dest = [1,2];
var src = [3,4];
$.extend(dest,src);
console.log(dest);

控制檯輸出的dest爲:
圖片描述blog

若是jQuery.extend()方法省略了dest參數,則表示將src合併到jQuery全局對象中去。示例以下:索引

$.extend({
    test1:function(){alert('hello world');}
        });
$.test1();  //彈出hello world

$.extend({
    test2:'hello world'
        });
alert($.test2);  //彈出hello world

須要注意的是,jQuery.fn.extend(object)是擴展 jQuery 元素集來提供新的方法(一般用來製做插件),不要和jQuery.extend()方法弄混淆。圖片

相關文章
相關標籤/搜索