Javascript JQuery:这段代码是什么意思?
有人能解释一下jquery中上面的代码是什么意思吗Javascript JQuery:这段代码是什么意思?,javascript,jquery,Javascript,Jquery,有人能解释一下jquery中上面的代码是什么意思吗 什么是~and.inArray?它在jQuery中没有任何意义,因为它是JavaScript ~是一个运算符,它执行您通常认为没有任何用途的操作。它是一个一元运算符,它将表达式带到它的右侧,并对其执行此小算法(其中N是波浪线右侧的表达式):-(N+1)。有关一些示例,请参见下文 (~$.inArray('orange', apple)) 所以,除非你有一个应用程序需要在数字上运行这个算法 伊纳雷 在数组中搜索指定的值并返回其索引(如果未找到
什么是~and.inArray?它在jQuery中没有任何意义,因为它是JavaScript
~
是一个运算符,它执行您通常认为没有任何用途的操作。它是一个一元运算符,它将表达式带到它的右侧,并对其执行此小算法(其中N是波浪线右侧的表达式):-(N+1)。有关一些示例,请参见下文
(~$.inArray('orange', apple))
所以,除非你有一个应用程序需要在数字上运行这个算法
伊纳雷
在数组中搜索指定的值并返回其索引(如果未找到,则返回-1)
所以在组合中,如果在
(~$.inArray('orange',apple')上找不到元素,它将返回零,否则索引将按照上述给定序列进行转换。jQuery inArray@Kevin,更像是炫耀和扼杀可读性,如果你问我的话。@Kevin,这实际上是两个补码的副作用:它将把-1
映射到0
,0
映射到-1
,正数映射到非零数。有关详细信息,请参阅。@FrédéricHamidi我不确定将某些内容与-1进行比较是否比在求值表达式之前设置符号更具可读性。我的意思是你是否发现:if($.inArray($orange',apple)!=-1)
比if($inArray($orange',apple))
更可读,但这只是我的观点。
console.log(~-2); // 1
console.log(~-1); // 0
console.log(~0); // -1
console.log(~1); // -2
console.log(~2); // -3