var err = "No msg";
if(myVar.indexOf(err) > -1){
//this means myVar NOT containing No msg
}
我的逻辑是否正确?我正在执行if语句,如果执行..
答案 0 :(得分:5)
要检查字符串是否包含子字符串,请使用
if(myVar.indexOf(err) === -1) {
或者
!~myVar.indexOf(err)
~
是BitWise NOT operator "在每个位上执行NOT运算符。不是a得到a的倒置值(也就是一个补码)。" 和!
是Logical NOT,所以将索引转换为布尔结果。
String#indexOf
将返回-1。
答案 1 :(得分:0)
没有你的逻辑不正确。 indexof如果子字符串不存在则返回-1。
var err = "No msg";
if(myVar.indexOf(err) == -1){
//this means myVar NOT containing No msg
}
答案 2 :(得分:0)
var err = "No msg";
if(myVar.indexOf(err) > -1){
//this means myVar contains "No msg"
}
else{
//this means myVar does NOT contain "No msg"
}
或者
var err = "No msg";
if(myVar.indexOf(err) === -1){
//this means myVar does NOT contain "No msg"
}
indexOf
返回匹配字符串的第一个字符的索引。
所以,如果
myVar = "There is No msg in here";
myVar.indexOf("No msg") == 9; //true
但是
myVar = "There is nothing in here";
myVar.indexOf("No msg") == -1; //true
这是因为indexOf()
在找不到它要找的内容时返回-1。