三元表达式之理解/jquery源代码分析之$.inArray实现

每次看到三元表达式就会惶惶然分不清怎样读,正如语文中的断句一样,jquery源代码中的三元表达式更是不知怎样断句。

附jquery中的inArray实现。


大家熟悉jquery的应该都不陌生inArray的使用方法。

在源代码实现中,先推断了arr是否存在,假设不存在。则可直接返回-1。否则进行兴许推断,当存在indexOf方法时,则直接使用call来调用indexOf方法。

否则继续。

在jquery代码中处处体现代码构建者对于javascript的深刻理解。譬如这里对arr.length的缓存。接下来进入我们的重头戏。

以下那句到处应该怎么理解。

是i=i?这样断么。好像不太对哦。全然理解不通。事实上不然。

这是群里朋友给予我的三元表达式的断句方法,所以在这里的应用就是:

给 i 赋值后面自i?i<0?開始的整个句子。后面的推断应该是若i不存在,则给 i 赋值于0。即是从数组开头处找起,否则推断存在的i是否小于0。若是,则给i赋值为Math.max(0,length+i),否则赋值为i。

兴许得到的i则是我们须要从数组開始查找元素elem的位置。

 也就是这个inArray的使用方法。

结束啦。。

。。代码界的小菜小菜

原文地址:https://www.cnblogs.com/jhcelue/p/6889222.html