jQuery源码浅谈系列-get()
jQuery源码浅谈系列---get()
jQuery源码浅谈系列---get()
前言:
为什么介绍这个,是因为可能你用惯了链式操作或者领会了jQuery的各种api返回的多是jQuery对象,然后有的时候你也通过***[0]这样的方式去转成DOM对象,调用原生的一下属性和api。
正文:
1. get()
-----------取得的是所有匹配的DOM元素的集合(或者讲元素数组)。
-----------这样你就可以直接操作DOM元素。
源码展示:
精辟而简短的代码编写,没有if else ,一直在思考api设计的颗粒度和互相调用的耦合度的把握
/*版本取1.4.4 @param num -----类似于数组的index @原理其实就是调用$.toArray返回一个DOM的类数组 判断是否传入了num这个参数 如果没有的话就是undefined == null 返回true就走this.toArray 如果传入了num,还继续判断是否小于0,如果小于0就调用jQuery的slice */ get: function(num){ return num == null ? this.toArray() : (num < 0 ? this.slice(num)[0] : this[num]) }
部分资料链接:
1.关于slice的说明 http://zhangyaochun.iteye.com/blog/1218238
2.关于toArray的说明 http://zhangyaochun.iteye.com/blog/1220427