jQuery源码历代记2
jQuery源码历代记1传送门?http://adamed.iteye.com/blog/1426963
?
前面详述了jQuery构造器中size和get的源码。
下面介绍下一个构造器中的方法each:
?
each: function( object, callback, args ) { var name, i = 0, length = object.length; if ( args ) { //*****这里省略了一些代码****** } else { if ( length == undefined ) { for ( name in object ){ if ( callback. call( object[ name ], name, object[ name ] ) === false ){ break; } } } else{ for ( var value = object[0]; i < length && callback.call( value, i, value ) !== false; value = object[++i] ){ //do nothing } } return object;}??
其实只是把apply改成call了,数组for循环时把执行那个地方放在判断区了。。核心思想没啥变化。。
?//*******************************这是传送门分割线******************************
我们回到jQuery 1.0构造器each方法这边来。
通过return jQuery.each( this , fn , args );我们看出来jQuery对象的each只是迭代jQuery对象本身的各个属性。
?
?