Possible Duplicate:
SyntaxError: Unexpected token ILLEGAL在命名空間中使用jQuery的filter()時,導致這些JavaScript錯誤的原因是什麼?
有人可以告訴我爲什麼這些錯誤正在發生以及如何解決它們?
/*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行:};缺少分號。
鉻控制檯顯示這個錯誤:
- 未捕獲的SyntaxError:意外令牌非法
然而,使用以封裝匿名函數代碼(JSFiddle)不會引發錯誤:
/*global $:false */
(function() {
"use strict";
$('a').filter(function() {
return !(/https?:\/\/[^\/]*xyz.*/i.test($(this).attr('href')));
}).text("***");
}());
哪裏是第10行? – Ibu
當你從他們的網站上直接複製粘貼時,Jsfiddle複製一個非法字符......用鉻打開你的檢查員,你會看到它。 – ahren
第一個示例似乎在Google Chrome控制檯中正常工作。 – Ivan