JavaScript search()无法找到"()"

Mat*_*zyk 4 javascript search

这可能看起来微不足道,但我是JS的新手.我有这段代码:

alert(elementAction);    
var argumentsBegin = elementAction.search("(");
var argumentsEnd = elementAction.search(")");
alert(argumentsBegin);
Run Code Online (Sandbox Code Playgroud)

elementAction是一个字符串.代码的问题是它似乎没有找到括号.第一个警告框显示例如:outer(inner) 但第二个警报框 根本不显示.如果我用{}替换(),那么一切都很酷.有什么想法,这对我不起作用?

Tim*_*own 11

是:search()字符串方法需要使用正则表达式作为参数,并将正在传递的字符串视为正则表达式模式,其中括号具有特殊含义.indexOf()改为使用:

alert( elementAction.indexOf("(") ); 
Run Code Online (Sandbox Code Playgroud)


gui*_* 桂林 7

elementAction.search("\\(");
Run Code Online (Sandbox Code Playgroud)

search是正则表达式,(是正则表达式中的关键字.你必须转义(\(, \(在字符串中是"\\("