if(str.indexOf("x") == -1){ //... } else{ //... } 乍一看,这段判断语句是什么逻辑? 会不会觉得 if 块里应该是str包含"x"的情况? 可是我们被欺骗了,indexOf的值判断是-1,因此这是不包含"x"的情况。 换下面的代码,同样的功能,是否更符合我们乍一看的理解? if(str.indexOf("x") >= 0){ // block with "x" ... } else{ // block no "x" ... }