为什么这种Javascript语法是非法的?
Chrome和Safari都报告这是非法的。他们报告指向“this.b”的“意外标记‘this’”。以下是显示问题所需的最低代码:为什么这种Javascript语法是非法的?,javascript,google-chrome,safari,syntax-error,Javascript,Google Chrome,Safari,Syntax Error,Chrome和Safari都报告这是非法的。他们报告指向“this.b”的“意外标记‘this’”。以下是显示问题所需的最低代码: function x(){ this.a = function() {} this.b = function() {} } 只有当两个声明在同一行时才会发生这种情况。有什么想法吗?在我看来是合法的。 这很烦人,因为这是Javascript缩略器的结果。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() {};
应该有一个
介于{}
和此.b
之间。你用的是什么迷你们?这就是为什么。使用分号。不过,我怀疑你的缩小器是否有任何好处,如果它不删除多余的空白。