1

可能重复:
SyntaxError: Unexpected token ILLEGAL

有人能告诉我为什么会发生这些错误以及如何解决这些错误吗?

/*global $:false */

Blah.BlahBlah = {
  findLinks : function () {
    "use strict";

    $('a').filter(function () {
      return !(/https?:\/\/[^\/]*xyz.*/i.test($(this).attr('href')));
    }).text("***");
  ​}
};

在 JSHint 中抛出这些错误:

  • 第 10 行:​} 意外的“​”。
  • 第 11 行:}; 期望 '}' 匹配第 3 行中的 '{',而看到的是 ';'。
  • 第 11 行:}; 缺少分号。

Chrome 控制台显示此错误:

  • Uncaught SyntaxError: Unexpected token ILLEGAL

但是,在封装的匿名函数中使用此代码 ( JSFiddle ) 不会引发错误:

/*global $:false */

(function() {

  "use strict";

  $('a').filter(function() {
    return !(/https?:\/\/[^\/]*xyz.*/i.test($(this).attr('href')));
  }).text("***");

}());
4

1 回答 1

1

我将您的第一个片段粘贴到 jsbin 中,我在倒数第二个右大括号之前看到了一个奇怪的字符}......可能是一个通常不可打印的字符?

于 2012-11-28T20:49:47.860 回答