extend学习记录:

extend的作用:

1.扩展jquery的静态方法:

$.extend({
    test: function(){
        console.log('这是创建的静态方法test');
    }
});

$.test();      //'这是创建的静态方法test'

2.合并对象:

extend用作合并时,会改变第一个参数的值---也即将合并的值赋给第一个参数;

//改变第一个参数obj1的值
const obj1 = {
    width: '100px'
};

const obj2 = {
    width: '200px'
    color: '#fff'
};

$.extend( obj1, obj2 );

console.log( obj1 );        //输出:{ width: "200px", color: "#fff" }

如果不想改变已有参数的值,可以借由一个空对象进行操作,并将合并的值赋给这个空对象,如下:

const obj1 = {
    width: '100px'
};

const obj2 = {
    width: '200px',
    color: '#fff'
};

const obj = $.extend( {}, obj1, obj2 );

console.log( obj );      //输出:{  width: "200px",  color: "#fff"  }
console.log(obj1);      //输出:{  width: "100px"  }

3.深度嵌套对象:

const obj1 = {
    width: '100px',
    color: {
        lighten: '#fff'
    }
};

const obj2 = {
    width: '200px',
    color: {
        darken: '#ccc'
    }
};

$.extend(true, obj1, obj2);

console.log(obj1);
//输出:{ width: '200px', color: { lighten: '#fff', darken: '#ccc' } }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    前端进阶之旅阅读 115,176评论 24 450
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 4,916评论 0 1
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 5,242评论 0 2
  • 分享一下安全防护的测试用例,无论是自建防火墙还是购买第三方产品都可以用得到。 应用安全类需求: 1.owasp-t...
    Ms_Spring阅读 5,065评论 1 2
  • 今天赶着去上课的路上,突然有个想法,真的是突然,莫名的一种想法。“如果仅靠回忆过一生,那回忆是该有多美好”! ...
    半夏畏生姜阅读 1,066评论 0 1