垂直线javascript麻烦

1 javascript line

document.write(new String("abgigi").search("|"));
Run Code Online (Sandbox Code Playgroud)

上面的代码显示0而不是预期的-1.为什么会这样?

cas*_*nca 5

search需要一个正则表达式作为其参数和|是OR运算符在正则表达式:您的搜索模式基本上是"空字符串或空字符串",因此比赛是在位置0中.

如果要进行简单的字符串匹配,请使用indexOf而不是search.