什么〜[Array] .indexOf(key)呢?

时间:2014-06-29 19:31:27

标签: javascript node.js express operators bit-manipulation

我正在使用和调整Express.js存储库中包含的MVC example

在其中一个模块中,有一个我不熟悉的JavaScript构造。目的是迭代对象上的键并跳过一些&#34;保留&#34;,但我不明白 tilde <正在发生什么/ strong>从JavaScript的角度来看。

for (var key in obj) {
    if (~['name', 'prefix', 'engine', 'before'].indexOf(key)) continue; 
}

我正在阅读它是一个Bitwise NOT运算符,但是会很感激外行人对这意味着什么的解释,以及它在这方面所做的事情。特别的例子。

1 个答案:

答案 0 :(得分:0)

如果找不到,则

indexOf会返回-1~-10,即false。所以整个过程意味着:如果在数组中找到key ,请继续。