Chrome浏览器的Javascript控制台中出现“SyntaxError: Unexpected Identifier”错误

46

我在Chrome的Javascript控制台中测试了这段JavaScript代码,它返回了SyntaxError: Unexpected Identifier

我是从一个教程中获取了这段代码,只是在测试Chrome的控制台,所以我原以为它会起作用,除非我使用控制台的方法有误?

代码:

var visitorName = "Chuck";
var myOldString = "Hello username. I hope you enjoy your stay username.";
var myNewString = myOldString.replace ("username," visitorName);

document.write("Old String = " + myOldString);
document.write("<br/>New string = " + myNewString);

输出:

SyntaxError: Unexpected identifier

由于不同的原因,出现了相同的错误。https://dev59.com/1XQOtIcB2Jgan1znfy0f - Michael Freidgeim
6个回答

98

逗号被引号吃掉了!

这部分:

("username," visitorName);
应该是这样的:
("username", visitorName);
提示: 如果你要将代码粘贴到控制台,请逐行粘贴以帮助你找出出错的地方。;-)

最好使用某种提示器或具有语法验证功能的IDE。 - totymedli
在我的情况下,问题出在API版本的更改上,我从x.7更改为x.8后问题得到解决。希望这能帮助到某些人。 - Mr Megamind

7

替换

 var myNewString = myOldString.replace ("username," visitorName);

使用

 var myNewString = myOldString.replace("username", visitorName);

1
我因为一行末尾缺少分号 ; 而出现了错误 Unexpected identifier。如果有人因为其他原因来到这里,请注意这也可能是该错误的原因。请注意不要删除任何HTML标签。

0

请按照以下方式编写

<script language="javascript">
var visitorName = 'Chuck';
var myOldString = 'Hello username. I hope you enjoy your stay username.';

变量 myNewString = myOldString.replace('username', visitorName);

document.write('Old String = ' + myOldString);
document.write('<br/>New string = ' + myNewString);
</script>

http://jsfiddle.net/h6xc4/23/


9
你应该指出这个问题。原帖作者没有注意到代码中的逗号,也不太可能发现变化。从快速查看来看,你似乎在建议使用单引号字符串而非双引号,这可能会令人困惑 - 在JavaScript中它们是相同的,但在所有语言中都不是(例如PHP)。 - Kobi
1
我尝试将myOldString.replace('username', visitorName);加粗,但是如果您将代码放在代码部分中,则无法以加粗的形式输出。 - ashish.chotalia
当然,你仍然可以编辑你的回答。(在 SO 上已经加粗代码了。) - user241244

0

我遇到了SyntaxError: Unexpected identifier错误,因为asyncstatic的顺序无效,static必须放在前面。

//Invalid
async static methodName() {

}

//Valid
static async methodName() {

}

0

复制这一行并替换到你的项目中

var myNewString = myOldString.replace ("username", visitorName);

逗号(,)存在一个简单的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接