Chrome和Safari都报告这是非法的。他们报告“意外令牌'这个'”指向'this.b'。以下是显示问题所需的最少代码:
function x(){ this.a = function() {} this.b = function() {} }
只有当两个声明在同一行时才会发生。有任何想法吗?看起来对我合法。
这很烦人,因为这是Javascript minifier的结果。
答案 0 :(得分:2)
Javascript会自动在新行上插入分号。这里缺少的是原始的分号,用于界定陈述的结尾。
在关闭括号之后插入分号,就像正确的JS一样,它会正常工作。
答案 1 :(得分:0)
没有分号终止函数x
内的第一个语句。
分号插入仅适用于新行。
// Valid but nasty
this.a = function() {}
this.b = function() {}
// Valid
this.a = function() {};
this.b = function() {};
// Valid
this.a = function() {}; this.b = function() {};