Chrome和Safari都報告這是非法的。他們報告「意想不到的標記」這個''指向'this.b'。以下是顯示問題所需的最小代碼:爲什麼這個Javascript語法是非法的?
function x(){ this.a = function() {} this.b = function() {} }
只有在兩個聲明位於同一行時纔會發生。有任何想法嗎?看起來對我來說合法。
這很煩人,因爲這是來自Javascript縮小器的內容。
Chrome和Safari都報告這是非法的。他們報告「意想不到的標記」這個''指向'this.b'。以下是顯示問題所需的最小代碼:爲什麼這個Javascript語法是非法的?
function x(){ this.a = function() {} this.b = function() {} }
只有在兩個聲明位於同一行時纔會發生。有任何想法嗎?看起來對我來說合法。
這很煩人,因爲這是來自Javascript縮小器的內容。
JavaScript會自動在新行上插入分號。這裏缺少的是原始的分號來界定您的陳述的結尾。
在你的右大括號之後插入分號,如正確的JS,它會正常工作。
在函數x
內沒有分號終止第一條語句。
分號插入僅適用於新行。
// Valid but nasty
this.a = function() {}
this.b = function() {}
// Valid
this.a = function() {};
this.b = function() {};
// Valid
this.a = function() {}; this.b = function() {};
「{}」和「this.b」之間應該有';'。你使用什麼縮小器? – Blender 2013-04-05 20:35:28
這就是爲什麼。使用分號。不過,如果不刪除多餘的空格,我懷疑你的縮小器是否有用。 – 2013-04-05 20:35:52