有人能告诉我为什么会发生这些错误以及如何解决这些错误吗?
/*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("***");
}());