jQuery.extend() 方法

返回上一级

jQuery jQuery.extend() 函数用于将一个或多个对象的内容合并到目标对象

语法

$.extend( target [, object1 ] [, objectN ] )

指示是否深度合并

$.extend( [deep ], target, object1 [, objectN ] )

不支持第一个参数传递 false

参数

参数 描述
deep 可选。 Boolean类型 指示是否深度合并对象,默认为false
如果该值为 true,且多个对象的某个同名属性也都是对象,则该"属性对象"的属性也将进行合并
target Object类型 目标对象,其他对象的成员属性将被附加到该对象上
object1 可选。 Object类型 第一个被合并的对象
objectN 可选。 Object类型 第N个被合并的对象

说明

  1. 如果只为 $.extend() 指定了一个参数,则意味着参数 target 被省略

    此时,target 就是 jQuery 对象本身

    通过这种方式,我们可以为全局对象 jQuery 添加新的函数

  2. 如果多个对象具有相同的属性,则后者会覆盖前者的属性值

范例

遍历数组元素,并修改第一个对象

<div id="log"></div>
<script>
$(function () { 
    var object1 = {
        apple: 0,
        banana: {weight: 52, price: 100},
        cherry: 97
    };
    var object2 = {
        banana: {price: 200},
        durian: 100
    };
    /* object2 合并到 object1 中 */
    $.extend(object1, object2);
    var printObj = typeof JSON != "undefined" ? JSON.stringify : function(obj) {
        var arr = [];
        $.each(obj, function(key, val) {
            var next = key + ": ";
            next += $.isPlainObject(val) ? printObj(val) : val;
            arr.push( next );
        });
        return "{ " +  arr.join(", ") + " }";
    };
    $("#log").append( printObj(object1) );
})
</script>

运行范例 »

更多范例

  1. 递归方式合并两个对象

    采用递归方式合并两个对象,并修改第一个对象

  2. 合并 defaults 和 options 对象

    合并 defaults 和 options 对象,并且不修改 defaults 对象。这是常用的插件开发模式

返回上一级

jQuery 参考手册

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.