zoukankan      html  css  js  c++  java
  • 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'
    

      

      

     

     

  • 相关阅读:
    编程之美-2.18 数组分割
    话题模型
    暂时跳过的Leetcode题目
    LDA主题模型
    二叉树非递归的统一实现
    取余和取模运算
    IDM非补丁破解方法
    两种建立堆的方法HeapInsert & Heapify
    非阻塞connect:Web客户程序
    非阻塞connect
  • 原文地址:https://www.cnblogs.com/peiyuanming/p/7656642.html
Copyright © 2011-2022 走看看