• jQuery的extend()用法


    一、给jQuery添加静态方法

      

    $.extend({
            add:function (a,b) {
                return a+b;
            },
            hello:function () {
                alert('hello!!!');
            }
        })
    
        $.hello(); //弹框hello!!!
        var result = $.add(1,4);
        console.log(result); //打印出5
    

      

    二、合并对象

      1、$.extend(default_obj,new_obj); 这种用法会破坏default_obj的结构,相当于默认的对象更新了。

    var default_obj = {
            name : '张三',
            age : 23,
            hobby: ['run','swim']
        };
    
        var new_obj = {
            name : '李四',
            gender : 'man',
            animal:'cat'
        };
    
        var result = $.extend(default_obj,new_obj);
        console.log(default_obj);  // Object {name: "李四", age: 23, hobby: Array(2), gender: "man", animal: "cat"}
        console.log(new_obj);      // Object {name: "李四", gender: "man", animal: "cat"}
        console.log(result);       // Object {name: "李四", age: 23, hobby: Array(2), gender: "man", animal: "cat"}
    

      

      2、$.extend({},default_obj,new_obj); 这种用法保持原来default_obj的结构。

    var default_obj = {
            name : '张三',
            age : 23,
            hobby: ['run','swim']
        };
    
        var new_obj = {
            name : '李四',
            gender : 'man',
            animal:'cat'
        };
    
        var result = $.extend({},default_obj,new_obj);
        console.log(default_obj);  // Object {name: "张三", age: 23, hobby: Array(2)}
        console.log(new_obj);      // Object {name: "李四", gender: "man", animal: "cat"}
        console.log(result);       // Object {name: "李四", age: 23, hobby: Array(2), gender: "man", animal: "cat"}
    

      

    3、$.extend(true,default_obj,new_obj); 这种用法将嵌套的子对象也进行合并,如果为false则不进行合并。

        var default_obj = {
            name : '张三',
            age : 23,
            hobby: {
                key_1:'run',
                key_2:'swim'
            }
        };
    
        var new_obj = {
            name : '李四',
            gender : 'man',
            animal:'cat',
            hobby: {
                key_1:'run',
                key_3:'eat'
            }
        };
    
        var result = $.extend(true,default_obj,new_obj);
        console.log(default_obj);  // key_1:'run' key_2:'swim'
        console.log(new_obj);      // key_1:'run' key_3:'eat'
        console.log(result);       // key_1:'run' key_2:'swim' key_3:'eat'
    

      

      

     

     

  • 相关阅读:
    MySQL数据库的常用命令
    MySQL数据库的概念
    Linux磁盘管理
    linux账号与权限管理
    安装及管理程序
    vi编辑器+常用命令
    centos7下部署elasticsearch7.2集群--Elastic Stack之一
    打开virt-manager界面显示方格乱码
    Rabbitmq之修改日志和数据存放路径
    Rabbitmq之Memory
  • 原文地址:https://www.cnblogs.com/peiyuanming/p/7656642.html
Copyright © 2020-2023  润新知