浅谈jQuery源码(二)——$.each
来源:互联网 发布:矩阵的迹和秩的关系 编辑:程序博客网 时间:2024/06/13 19:21
jQuery的each()方法使得遍历一个数组或者对象的代码段变得十分的简洁。
1、each()的用法:
1) each接受2个参数:数组、回调函数(回调函数具有两个参数,key是数组的索引,value是对应的元素)
$.each([1,2,3], function(key, value) { console.log("[" + key + "]=" + value);});
输出:
[0]=1
[1]=2
[2]=3
2) each接受3个参数:数组、回调函数(回调函数的参数是第三个参数数组的元素,函数里的this就是遍历元素自己)、一个额外的参数数组
$.each([1,2,3], function(arg1, arg2) { console.log(this + "," + arg1 + "," + arg2);}, [4, 5]);
输出:
1,4,5
2,4,5
3,4,5
2、jQuery的each()源码如下:
each: function(obj, callback, args) {// obj是需要遍历的数组或者对象// callback是处理数组/对象的每个元素的回调函数,它的返回值会中断循环的过程var value, i = 0, length = obj.length, isArray = isArraylike(obj);//判断是不是数组if (args) {if (isArray) { // 数组for (; i < length; i++ ) {value = callback.apply(obj[i], args); // 若args = [arg1, arg2, arg3],则相当于:callback(args1, args2, args3),callback里边的this指向了obj[i]if ( value === false ) // 当callback函数返回值会false的时候,注意是全等!循环结束break;}} else { // 非数组for (i in obj) { // 遍历对象value = callback.apply(obj[i], args);if ( value === false ) break;}}} else {if (isArray) {for (; i < length; i++) {value = callback.call(obj[i], i, obj[i]); // 相当于callback(i, obj[i])。然后callback里边的this指向了obj[i]if (value === false) break;}} else {for (i in obj) {value = callback.call(obj[i], i, obj[i]);if (value === false) break;}}}return obj;},
1 0
- 浅谈jQuery源码(二)——$.each
- 浅谈jquery中的each方法$.each、this.each、$.fn.each
- jquery遍历—$().each和$.each()
- 浅谈jQuery源码(一)——$.trim
- 浅谈jQuery源码(三)——$.inArray
- 浅谈jQuery源码(四)——$.grep
- 浅谈jQuery源码(五)——$.merge
- 浅谈jQuery源码(六)——$.map
- 浅谈jQuery源码(七)——$.makeArray
- 浅谈jQuery源码(八)——$.extend
- jQuery源码分析-each函数
- jquery源码解析----each迭代器
- jQuery源码分析-----迭代器each
- jquery源码--each函数归纳
- jQuery源码分析3: jQuery.each
- jquery——$.each的用法
- JQuery 学习—$.each遍历学习
- jquery之$.each()
- code[vs] 1011 数的计算
- BZOJ 1272: [BeiJingWc2008]Gate Of Babylon 容斥+Lucas+隔板法+逆元
- 【计算机系统结构】 互连网络
- python爬虫入门三之Urllib库的基本使用
- 在Linux下安装配置tomcat
- 浅谈jQuery源码(二)——$.each
- ZOJ2418-Matrix
- TortoiseSVN 常用操作 svn教程
- NYOJ 1276机器设备
- 【计算机系统结构】 输入/输出系统
- C++离航篇——引用,const
- NYOJ--714--Card Trick
- Java编程之异常体系
- hdu 2051 Bitset 把一个十进制转化为2进制数