3 回答

TA貢獻1836條經驗 獲得超3個贊
在該源的末尾有某種偽造的特征。嘗試刪除最后一行并將其添加回來。
我無法確切地知道那里有什么,但......
編輯 - 我認為這是一個零寬度空間,Unicode 200B??雌饋矸浅F婀?,我當然不能確定它不是Stackoverflow工件,但是當我將最后一個功能(包括完整的最后一行)復制/粘貼到Chrome控制臺時,我收到了您的錯誤。
這些角色的臭名昭著的來源就像jsfiddle這樣的網站。我并不是說它們有任何問題 - 它只是某種東西的副作用,也許是使用內容可編輯的輸入小部件。
如果您懷疑自己有這種疾病的情況,并且您使用的是MacOS或Linux / Unix,那么od
命令行工具可以向您展示(盡管以相當丑陋的方式)源代碼文件的字符中的數值。一些IDE和編輯器也可以顯示“有趣”的字符。請注意,這些字符并不總是一個問題。例如,在字符串常量中嵌入的Unicode字符完全可以(在大多數合理的編程語言中)。當語言解析器在不期望它們時遇到字符時,問題就開始發生。

TA貢獻1846條經驗 獲得超7個贊
粘貼從jsfiddle復制的代碼后,我在Chrome中遇到同樣的錯誤。
如果從jsfiddle中的面板中選擇所有代碼并將其粘貼到自由文本編輯器Notepad ++中,您應該能夠將問題字符看作問號“?”。在代碼的最后。刪除此問號,然后從Notepad ++復制并粘貼代碼,問題就會消失。

TA貢獻1817條經驗 獲得超6個贊
當多行字符串包含新的line(\n
)字符時,我遇到了同樣的錯誤。將所有行合并為一個(從而刪除所有新行字符)并將其發送到用于解決的瀏覽器。但代碼非常不方便。
通常無法理解為什么這是Chrome中的問題,直到我發現一條聲明說Chrome中當前版本的JavaScript引擎不支持多行字符串,這些字符串用單引號括起來并且\n
在其中包含新的line()字符。為了使其工作,多行字符串需要用雙引號括起來。將我的代碼更改為此,解決了此問題。
我將嘗試查找對標準或Chrome文檔的引用,以證明這一點。在此之前,請嘗試此解決方案,看看是否適合您。
添加回答
舉報