Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么这种Javascript语法是非法的?_Javascript_Google Chrome_Safari_Syntax Error - Fatal编程技术网

为什么这种Javascript语法是非法的?

为什么这种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会自动在新行中插入分号。这里缺少的是用于分隔语句结尾的原始分号 在右大括号后插入分号,如正确

Chrome和Safari都报告这是非法的。他们报告指向“this.b”的“意外标记‘this’”。以下是显示问题所需的最低代码:

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
之间。你用的是什么迷你们?这就是为什么。使用分号。不过,我怀疑你的缩小器是否有任何好处,如果它不删除多余的空白。