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