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'
    

      

      

     

     

  • 相关阅读:
    redux VS mobx (装饰器配合使用)
    react-native 中使用 mobx
    使用 react-native-tab-navigator 创建 TabBar 组件
    react-native ListView 封装 实现 下拉刷新/上拉加载更多
    react-native 路由 react-native-router-flux
    react-native fetch 请求封装
    react-native flex 布局 详解
    react-native AsyncStorage 数据持久化方案
    react-native 自定义 下拉刷新 / 上拉加载更多 组件
    用 Core Animation 实现图片的碎片化
  • 原文地址:https://www.cnblogs.com/peiyuanming/p/7656642.html
Copyright © 2011-2022 走看看