zoukankan      html  css  js  c++  java
  • $.extend(obj)和$.fn.extend(obj)的区别

    $.extend(obj):

    扩展jquery本身,添加方法:

    $.extend({
    add:function(a,b){
    return a+b;
    }
    })
    $.add(5,8) //return 13

    这里是直接调用,$.add(5,8);不加任何对象。

    $.fn.extend(obj):

    对prototype进行扩展,为jquery类添加成员函数, jquery类的实例可以使用这个成员函数。

    $.fn.extend({
    clickwhile:function(){
    $(this).click(function(){
    alert($(this).val()) 
    })
    }
    })
    $('input').clickwhile();//当点击输入框会弹出该对象的Value值

    $.extend()合并多个结构:

        value=$.extend({}{sa:"asdf"},{sd:"adsfasd"},"dsaf");
        alert(value.sa);

    value的值为:object(sa:"asdf",sd:"absfasd","dsaf");

        value=$.extend({}{sa:"asdf"},{sa:"adsfasd"},"dsaf");
        alert(value.sa);

    value的值为:object(sa:"adsfasd","dsaf"); 后面相同名字的结构的内容会覆盖前面的内容。

    $.extend()原型:

    extend(dest,src1,src2,src3...);

    它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest 。

    可以省略dest,用法就像最开始的$.extend(obj),将整个Jquery当成dest函数,给他赋值。

    看一个例子就完全明白了:

    var arr=new Array("xieyutian","lizhenjing","helloworld","tianlanihao");
    $(document).ready(function(){
        value=$.extend({ss:function(){
            alert("OK");}},{sa:"adsfasd"},"dsaf");
        dump_obj(value);
    });
    
    function dump_obj(myObject) {  
          var s = "";  
          for (var property in myObject) {  
           s = s + "
     "+property +": " + myObject[property] ;  
          }  
          alert(s);  
        }  

    他会输出:

    0: d
    1: s
    2: a
    3: f
    ss: function (){
    alert("OK");}
    sa: adsfasd

  • 相关阅读:
    闰年的定义
    Sublime Text 3
    维特比算法(Viterbi)
    索引
    倒排索引
    URL过滤
    判断一个元素是否在集合中
    布隆过滤器
    jsp九大内置对象
    jsp九大内置对象和其作用详解
  • 原文地址:https://www.cnblogs.com/canbefree/p/3729229.html
Copyright © 2011-2022 走看看