实现jQuery.each方法
来源:互联网 发布:手机淘宝购买成功截图 编辑:程序博客网 时间:2024/06/05 23:49
参考JavaScript专题之jQuery通用遍历方法each的实现
$.each是一个通用的迭代函数,可以用来迭代数组与对象。
$.each(arr,function(index,value){ ……})$.each(obj,function(prop,value){ ……})
$.each()
函数和 $(selector).each()
是不一样的,那个是专门用来遍历一个jQuery对象。$.each()函数可用于迭代任何集合,无论是“名/值”对象或数组。
那么我们该怎么实现这样一个 each 方法呢?
首先,我们肯定要根据参数的类型进行判断,如果是数组,就调用 for 循环,如果是对象,就使用 for in 循环。
function each(obj,callback){ if(Array.isArray(obj)){ for(var i=0;i<obj.length;i++){ callback.call(obj[i],i,obj[i]); } }else{ for(var prop in obj){ callbackcall(obj[prop],prop,obj[prop]); } }}
使用call调用回调函数是为了保证this的正确指向。
这个函数看起来与原生的forEach方法没有什么区别,但是$.each是支持在回调函数中返回return false来终止循环的。
这里我们也可以通过监测callback返回的值来实现:
function each(obj,callback){ if(Array.isArray(obj)){ for(var i=0;i<obj.length;i++){ if(callback(i,obj[i]) === false){ break; } } }else{ for(var prop in obj){ if(callback(prop,obj[prop]) === false){ break; } } }}
阅读全文
0 0
- 实现jQuery.each方法
- jquery的each()方法实现
- jquery中.each的实现方法
- jQuery方法原生实现---each遍历
- 浅谈jquery中的each方法$.each、this.each、$.fn.each
- jquery each方法
- jquery each方法
- jQuery each方法
- Jquery中的each方法
- jquery的each方法
- jQuery 遍历 - each() 方法
- jquery each() 方法
- Jquery的$.each()方法
- jquery each方法
- jQuery 遍历 - each() 方法
- jquery each方法举例
- jQuery 遍历 - each() 方法
- jquery的each方法
- CSS BFC
- ubuntu14.04下安装eclipse(包括安装jdk)
- 网络协议篇之CWMP协议(三)—— RPC方法
- 计算含有汉字的字符串的长度
- npm、模块暴露,小知识点区别
- 实现jQuery.each方法
- 前端框架之bootstrap
- Unexpected error while running MyBatis Generator. Exception getting JDBC Driver
- Prime Gap
- 第13天
- 求循环数和
- 微信端下载文件
- iOS 将一个数组中的数据插入到另一个数组中~总结
- js中关于计时器的案例