在javascript中指示不带引号的字符串
我遇到了一段类似这样的代码:在javascript中指示不带引号的字符串,javascript,string,Javascript,String,我遇到了一段类似这样的代码: var str="I like blue"; str.replace(/blue/,"red"); 这里发生了什么?何时不需要将字符串文字括在引号中?与传统方法相比,这种方法的好处是什么 str.replace("blue","red"); 在Javascript中,包含在/字符中的文字不是字符串,而是字符串 所以/blue/相当于newregexp(“blue”) 何时不需要将字符串文字括在引号中 : (注意:ES6中也不是字符串文字。) 与[…]相比,这种
var str="I like blue";
str.replace(/blue/,"red");
这里发生了什么?何时不需要将字符串文字括在引号中?与传统方法相比,这种方法的好处是什么
str.replace("blue","red");
在Javascript中,包含在
/
字符中的文字不是字符串,而是字符串
所以/blue/
相当于newregexp(“blue”)
何时不需要将字符串文字括在引号中
:
(注意:ES6中也不是字符串文字。)
与[…]相比,这种方法的好处是什么
示例中没有,但如果要替换字符串的所有引用,则必须使用全局修饰符:(当它是正则表达式时)。
String.replace
可以将正则表达式作为第一个参数。表达式/blue/
是一个字符串。/blue/
不是字符串文字,而是正则表达式文字.replace
可以搜索字符串或正则表达式。“何时不需要将字符串文字括在引号中?”从不。“与“示例中没有,但请参阅replace可以用正则表达式做更多的事情,您可以替换模式,也可以进行全局替换”相比,这种方法有什么好处,例如“abcbabcba”。replace(/b/g,“”)/=“a_c_a_c_a”
StringLiteral ::
" DoubleStringCharacters_opt "
' SingleStringCharacters_opt '