你不知道的javaScript 之indexOf()

时间:2021-09-16 13:14:40

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

  //没有找到匹配

}