为什么这个Javascript语法非法?

时间:2013-04-05 20:33:47

标签: javascript google-chrome safari syntax-error

Chrome和Safari都报告这是非法的。他们报告“意外令牌'这个'”指向'this.b'。以下是显示问题所需的最少代码:

function x(){ this.a = function() {} this.b = function() {}  }

只有当两个声明在同一行时才会发生。有任何想法吗?看起来对我合法。
这很烦人,因为这是Javascript minifier的结果。

2 个答案:

答案 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() {};