Javascript - SyntaxError:无效或意外的令牌 - 在创建对象时 - 不可见的字符

时间:2016-12-30 16:31:05

标签: javascript syntax-error console.log object-literal

我正在阅读有关Javascript对象(http://javascriptissexy.com/javascript-objects-in-detail/)的文章,因此我将以下代码复制粘贴到我的Notepad ++中并在Chrome中运行(版本55.0.2883.87 m)。打开控制台后,控制台会报告SyntaxError。 有人知道为什么吗?一切似乎都没问题。

// We have been using dot notation so far in the examples above, here is another example again:​
​var book = {title: "Ways to Go", pages: 280, bookMark1:"Page 20"};
​
​// To access the properties of the book object with dot notation, you do this:​
console.log(book.title); // Ways to Go​
console.log(book.pages); // 280

1 个答案:

答案 0 :(得分:7)

如果您复制刚刚粘贴的所有内容并将其写入控制台,您会发现代码中有一些unicode字符(\u200b),实际上是您错误中的Invalid or unexpected token你没有看到它们,因为它们的间距是零宽度,所以只需删除它们,代码就可以完美地运行,如下所示

// We have been using dot notation so far in the examples above, here is another example again:
var book = {title: "Ways to Go", pages: 280, bookMark1:"Page 20"};

// To access the properties of the book object with dot notation, you do this:
console.log(book.title); // Ways to Go
console.log(book.pages); // 280

您可以在此处找到有关零宽度空格字符的更多信息:http://www.fileformat.info/info/unicode/char/200b/index.htm