jQuery技术

可想造一个属于你自己的jQuery库?(五)

字号+ 作者:H5之家 来源:H5之家 2015-11-12 12:40 我要评论( )

可想造一个属于你自己的jQuery库?(五),Lesson-4这个版本我们要增加一个用的非常多的方法!那就是each!我们知道each不仅能遍历数组,还能遍历对象.首先我们需要一个

Lesson-4

这个版本我们要增加一个用的非常多的方法!

那就是each!

我们知道each不仅能遍历数组,还能遍历对象.

首先我们需要一个对数组进行验证的方法

function isArray(obj) { return Array.isArray(obj); }

接着就是我们的重头戏

Kodo.each = function(obj,callback) { var len = obj.length, constru = obj.constructor, i = 0; if(constru === window.f) { for (; i < len; i++) { var val = callback.call(obj[i],i,obj[i]); if(val === false) break; } } else if (isArray(obj)) { for (; i < len; i++) { var val = callback.call(obj[i],i,obj[i]); if(val === false) break; } } else { for( i in obj ) { var val = callback.call(obj[i],i,obj[i]); if(val === false) break; } } };

因为我们还可能遍历Kodo数组对象

f("div").each(function(index,item) { })

所以还需要一个判断 是否是Kodo数组对象

if(constru === window.f) { for (; i < len; i++) { var val = callback.call(obj[i],i,obj[i]); if(val === false) break; } }

在这应该强调下call的用法,还是很多人不知道call何时使用.

在我们的callback里 第一个参数是下标,第二个参数是当前的对象,然后this还要指向他自己

所以 callback.call(obj[i],i,obj[i]); 就是这样写 第一个参数是改变this指向,第二个参数是下标,第三个是自己本身

很简单不是吗?

既然你都看到这里了,还不给我一个star?!

github地址: https://github.com/MeCKodo/forchange/tree/master/lesson-4

可想自己造一个jQuery库?(四):

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 全面详细的jQuery常见开发技巧手册

    全面详细的jQuery常见开发技巧手册

    2016-02-26 10:02

  • jquery——彩色投票进度条

    jquery——彩色投票进度条

    2015-11-25 10:03

  • 锋利的jquery学习之二

    锋利的jquery学习之二

    2015-11-18 15:45

  • 【译】前端开发者都应知道的 jQuery 小技巧

    【译】前端开发者都应知道的 jQuery 小技巧

    2015-11-16 11:14

网友点评
s