`
ezscript
  • 浏览: 33449 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

浅谈jquery中的extend

阅读更多
extend 有2种常用的方法:

1 扩充 jQuery ,用法详见api。。

2 对象的扩充(我更想叫它合并): 后面的覆盖前面的, 并且返回被覆盖后的对象...

     var objectA = {a : 'aaa' , b: 'bbb' } ; var objectB = {c : 'ccc' , b: 'b' } ;

      var opt = jQuery.extend(objectA, objectB);  

       console.log(opt); // 结果 opt {a:'aaa', b:'b' , c:'ccc'};


没事,就写了个假的:

    先写一个函数: var  MyExt = function () {...}
   1 扩充,一般是基于  MyExt['name'] = xxx, 所以,当传一个参数时:

if(arguments.length == 1) {

    var obj = arguments[0]; // 让obj等于第一个参数

    var target = this;  // this 是 MyExt

    for( var name in obj){

        target[name] = obj [name];  //加入扩展

    }

}

2 覆盖, 就让他重复好了,,

if(arguments.length == 2) {

    var obj1 = arguments[0], obj2 = arguments[1];

    var target = obj1;

    for( var name in obj2){

        target[name] = obj2 [name];

    }
    return target;

}

    所以,这个方法的雏形就有了(一个可以扩展MyExt,和合并对象的extend), 当然,是应该优化的!

MyExt.extend = MyExt.prototype.extend = function() {
    if(arguments.length == 1) {
        var obj = arguments[0];
        var target = this;  // this 是 MyExt
        for( var name in obj){
            target[name] = obj [name];
        }
    }
    if(arguments.length == 2) {
        var obj1 = arguments[0], obj2 = arguments[1];
        var target = obj1;
        for( var name in obj2){
            target[name] = obj2 [name];
        }
        return target;
    }

}

如果有兴趣, 参见 jquery-1.3.1.js ... 550 - 600行左右,


原文: http://hi.baidu.com/ezscript/blog/item/05a73752e2d2d32842a75bc4.html
分享到:
评论

相关推荐

    jQuery.extend 函数详解

    jQuery.extend 函数详解 Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解。

    浅谈jquery.fn.extend与jquery.extend区别

    1.jquery.extend(object); 为扩展jQuery类本身.为类添加新的方法。 jquery.fn.extend(object);给jQuery对象添加方法。 $.extend({  add:function(a,b){return a+b;} }); //$.add(3,4); //return 7 jQuery添加...

    原生js实现jquery $.extend方法

    原生js实现jquery $.extend方法 通过遍历对象属性来实现

    jQuery:jQuery.extend函数详解

    jQuery:jQuery.extend函数详解

    jQuery_extend 函数详解

    jQuery_extend 函数详解

    jQuery中extend函数的实现原理详解

    extend()是jQuery中一个重要的函数,作用是实现对对象的扩展, 它经常用于jQuery插件的开发,jQuery内部也使用它来扩展属性方法,如上篇文章中讲到的noConflict方法,就是用extend方法来扩展的。 在jQuery的API手册...

    jQuery.extend

    NULL 博文链接:https://gghaomm.iteye.com/blog/1746699

    jQuery.extend()、jQuery.fn.extend()扩展方法示例详解

    jQuery自定义了jQuery.extend()和jQuery.fn.extend()方法.其中jQuery.extend()方法能够创建全局函数或者选择器,而jQuery.fn.extend()方法能够创建jQuery对象方法. 例如: 代码如下: jQuery.extend({ showName : ...

    JQuery中extend的用法实例分析

    本文实例讲述了JQuery中extend的用法。分享给大家供大家参考。具体分析如下: extend()函数是jQuery的基础函数之一,作用是扩展现有的对象。extend是我们在写插件的过程中常用的方法,该方法有一些重载原型。$....

    jQuery中extend()和fn.extend()方法详解

    jQuery自定义了jQuery.extend()和jQuery.fn.extend()方法.其中jQuery.extend()方法能够创建全局函数或者选择器,而jQuery.fn.extend()方法能够创建jQuery对象方法.

    浅谈jQuery中的$.extend方法来扩展JSON对象

    $.extend方法可以扩展JSON对象,用一个或多个其他对象来扩展一个对象,返回被扩展的对象。...jQuery.extend(settings, options); 结果 settings == { validate: true, limit: 5, name: “bar” } 例二 合并 defaul

    jquery.validate.extend.js

    jquery.validate.extend.js

    jquery的extend和fn.extend的使用说明

    jQuery为开发插件提拱了两个方法,分别是: 代码如下: jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。 jQuery.fn.extend(object);给jQuery对象...

    jQuery.extend和jQuery.fn.extend的区别

    NULL 博文链接:https://bijian1013.iteye.com/blog/2255035

    jQuery中extend函数详解

    1.$.extend({},defaults, options) 这样做的目的是为了保护包默认参数。也就是defaults里面的参数。 做法是将一个新的空对象({})做为$.extend的第一个参数,defaults和用户传递的参数对象紧随其后,这样做的好处是...

    深入理解jquery中extend的实现

    extend()是jQuery中一个重要的函数,作用是实现对对象的扩展, 它经常用于jQuery插件的开发,jQuery内部也使用它来扩展属性方法,如noConflict方法,就是用extend方法来扩展的。下面来一起深入的再学习下jquery中...

    jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析

    主要介绍了jQuery.extend 与 jQuery.fn.extend的用法及区别,结合实例形式分析了jQuery.extend与jQuery.fn.extend的功能、使用方法及区别,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics