在javascript中指示不带引号的字符串

时间:2014-06-25 15:35:29

标签: javascript string

我遇到了一些看起来像这样的代码:

var str="I like blue";
str.replace(/blue/,"red");

这里发生了什么?字符串文字何时不需要用引号括起来?与

相比,这种方法有什么好处
str.replace("blue","red"); 

2 个答案:

答案 0 :(得分:1)

在Javascript中,/个字符中包含的文字不是字符串,是RegExp (regular expression)

因此/blue/相当于new RegExp("blue")

答案 1 :(得分:1)

  

何时不需要将字符串文字括在引号中?

Never

StringLiteral ::
    " DoubleStringCharacters_opt "
    ' SingleStringCharacters_opt '

(注意:ES6中的template literals也不是字符串文字。)

  

与[...]

相比,这种方法有什么好处

您的示例中没有,但如果您要替换所有出现的字符串,则必须使用带有全局修饰符的regular expressionHow to replace all occurrences of a string in JavaScript?