首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

jQuery源码浅谈系列-$.inArray

2012-09-02 
jQuery源码浅谈系列---$.inArray?之所以谈论一下这个api,是因为我以前在设计我自己的凤凰组件库的时候写过

jQuery源码浅谈系列---$.inArray

?

之所以谈论一下这个api,是因为我以前在设计我自己的凤凰组件库的时候写过一个array的indexOf,然后我也写了一个JavaScript1.6新特性里面介绍的7个array扩展的api.所以回归到jQuery的源码再来看,可能就很简单了。

?

jQuery.inArray(value,array)

?

?? ? ? ? ? 确认第一个参数在数组中的位置,从0开始计数(如果没有就返回-1

?

?

value ?----------用于在数组中查找的项是否存在array ? ----------{Array}

源码展示:

//简单测试一下var arr = [0,1,2];console.log($.inArray(0,arr));   //0console.log($.inArray('a',arr));  //-1
?总结一下:其实无论我们在编写自己的lib还是在一般的小项目里面,你如果看过hax的api设计讲座的话你会知道扩展Object.prototype的做法是不推荐的,或者尽量少用的。很多人在以前的项目里面自己在Array.prototype扩展了类似的indexOf,当然在IE8和以下的版本可能还是走你扩展的这个api,但是像ff等支持的高于JavaScript1.6版本以上的浏览器,它会去找原生的indexOf
而且个人觉得从代码优化角度来讲浏览器原生支持的似乎更快一点。如果你没有熟悉过JavaScript1.6等特性的新增情况也可以关注一下我后面推出的这个系列

热点排行