使用Tilde(〜)和search()搜索字符串

时间:2015-02-09 15:13:10

标签: javascript

我正在阅读一篇关于JavaScript中Tilde运算符的文章。我看到一个示例显示我们可以使用〜来搜索字符串,如下所示:

var str = 'posterous';
if ( str.search('t') >= 0 ) {
// character t found
}
else{
// not found
} 

用〜:

var str = 'posterous';

if ( !~str.search('t') ) {
// character 't' not found branch
}
else{
// found branch
} 

我的问题是它是如何运作的?

1 个答案:

答案 0 :(得分:2)

Joe Zim's blog explains what it is

  

Tilde(〜)是一元运算符,它将表达式向右移动   对它执行这个小算法(其中N是表达式   波浪号右边):-(N+1)

0以外的所有号码都被视为 truthy

如果找不到,则{p> String.indexOfString.search会返回-1~-10 falsey