你不知道的javaScript 之indexOf()

Posted 伍声2016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你不知道的javaScript 之indexOf()相关的知识,希望对你有一定的参考价值。

var a = "Hello World";

if(a.indexOf( "lo" ) >= 0) {   // true

  //找到匹配

}

 

if(a.indexOf( "xo" ) == -1) {   // true

  //没有找到匹配

}

 

>= 0 和 == -1 这样的写法不是很好,称为“”抽象渗漏“,意思是在代码中暴露了底层的实现细节,这里是指用-1 作为失败时的返回值,这些细节应该被屏蔽掉。

通过~字位反转来完成

if(~a.indexOf( ‘lo‘ )) {   // true

  //找到匹配

}

 

if( !~a.indexOf( ‘xo‘ ) ) {   // true

  //没有找到匹配

}

以上是关于你不知道的javaScript 之indexOf()的主要内容,如果未能解决你的问题,请参考以下文章

你不知道的Javascript(上卷)读书笔记之二 ---- 词法作用域

函数作用域和块级作用域--你不知道的JavaScript

《你不知道的JavaScript》系列分享专栏

翻译连载 | 第4章:组合函数-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇

翻译连载 | JavaScript 轻量级函数式编程-第2章:函数基础 |《你不知道的JS》姊妹篇

翻译连载 | 附录 A:Transducing(上)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇