jQuery技术

jQuery源码学习(一)(2)

字号+ 作者:H5之家 来源:H5之家 2016-05-30 16:00 我要评论( )

返回新集合 = script type = "text/javascript" var arr=[ 'a' , 'b' , 'c' ]; //将原始数组中的每个值加上自己索引后,映射到新的数组中。 arr=$.map(arr,elem+i;});console.log(arr); // ["a0", "b1", "c2"] / sc

返回新集合

=> <script type="text/javascript"> var arr=['a','b','c']; //将原始数组中的每个值加上自己索引后,映射到新的数组中。 arr=$.map(arr,elem+i; }); console.log(arr);// ["a0", "b1", "c2"] </script> </body> eq

first(就是eq(0))和last(就是eq(-1))方法都是基于eq方法来实现的

>1111111>1111111=> <script type="text/javascript"> /* eq是获取指定下标的元素 下标可以为负值 */ $($('div').eq(2).css('color','red'); $('div').eq(-1).css('color','red');//其实是-1+length }); </script> </body> toArray()

toArray()方法用来转数组

>2=> <script type="text/javascript"> $(function(){ console.log($('div'));//Object[div, div, div] 返回的是对象 console.log($('div').toArray());//[div, div, div] 返回数组 }); </script> </body> extend–JQ的继承方法 jQuery.extend和jQuery.fn.extend
  • jQuery.extend 对jQuery本身的属性和方法进行了扩展
  • jQuery.fn.extend 对jQuery.fn的属性和方法进行了扩展
  • jQuery.extend 调用的时候,this是指向jQuery对象的(jQuery是函数,也是对象!),所以这里扩展在jQuery上。
    而jQuery.fn.extend 调用的时候,this指向fn对象,jQuery.fn 和jQuery.prototype指向同一对象,扩展fn就是扩展jQuery.prototype原型对象。这里增加的是原型方法,也就是对象方法了。

    => <script type="text/javascript"> //当只写一个对象字面量的时候,JQ中扩展插件的形式 $.extend({//扩展工具方法 aaa:function(){ alert(1); }, bbb:function(){ alert(2); } }); $.fn.extend({//扩展JQ实例方法 aaa:function(){ alert(3); }, bbb:function(){ alert(4); } }); //$代表函数 $.aaa(); $.bbb(); //$()代表对象 $().aaa(); $().bbb(); </script> </body> => <script type="text/javascript"> //当写多个对象字面量的时候,后面的对象都是扩展到第一个对象身上 var a={}; $.extend(a,{name:'hello'},{age:30}); console.log(a);// Object {, age=30} </script> </body> => <script type="text/javascript"> a={}; var b={name:"hello"}; $.extend(a,b);//浅拷贝 a.name='hi'; console.log(b.name);a={}; var b={name:{age:30}}; $.extend(a,b);//浅拷贝 a.name.age=20; console.log(b.name.age);//20 var a={}; var b={name:{age:30}}; $.extend(true,a,b);//深拷贝 a.name.age=20; console.log(b.name.age);//30 /* JQ:拷贝继承 */ </script> </body> jQuery.extend()–扩展一些工具方法 noConflict()

    jQuery与其他库的防冲突解决

    => <script type="text/javascript"> var aa = $.noConflict(); var $ = 123; aa(function(){ alert($);//123 }); </script> </body>

    在jQuery库之前引用$和jQuery

    ="text/javascript"> /* 源码中: _jQuery = window.jQuery _$ = window.$ */ $ = 123; //相当于将jQuery源码中的_jQuery = window.jQuery = 456 var jQuery = 456; //console.log("window:"+window.$);//window:123 => <script type="text/javascript"> var aa = $.noConflict(true); aa(function(){ alert($);//123 alert(jQuery);//456 }); </script> </body>

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • Jquery 基础学习笔记

      Jquery 基础学习笔记

      2016-05-26 13:01

    • jquery对象和JavaScript对象即DOM对象相互转换

      jquery对象和JavaScript对象即DOM对象相互转换

      2016-03-06 17:00

    • javascript cookie的简单应用

      javascript cookie的简单应用

      2016-02-29 11:36

    • 7个有用的jQuery小技巧

      7个有用的jQuery小技巧

      2016-02-26 13:02

    网友点评