Javascript语法需要一些解释

Javascript语法需要一些解释,javascript,code-snippets,Javascript,Code Snippets,我正在阅读Javascript的好部分,并在第5章继承中发现了以下代码片段: var coolcat = function (spec) { var that = cat(spec), super_get_name = that.superior('get_name'); that.get_name = function (n) { return 'like ' + super_get_name() + ' baby'; return that;

我正在阅读Javascript的好部分,并在第5章继承中发现了以下代码片段:

var coolcat = function (spec) {
   var that = cat(spec),
             super_get_name = that.superior('get_name');
   that.get_name = function (n) {
    return 'like ' + super_get_name() + ' baby'; return that;
    }
  }
我被第2行cat(规格)后的昏迷弄糊涂了。这条线到底是干什么的?(2号线+3号线)
谢谢

缩进错误,应该是:

var that = cat(spec),
    super_get_name = that.superior('get_name');
这等于说:

var that = cat(spec);
var super_get_name = that.superior('get_name');

压痕错误,应为:

var that = cat(spec),
    super_get_name = that.superior('get_name');
这等于说:

var that = cat(spec);
var super_get_name = that.superior('get_name');

这只是在一条语句中声明两个变量的快捷方式,相当于:

var that           = cat(spec);
var super_get_name = that.superior('get_name');
JavaScript中的

逗号运算符计算其两个操作数(从左到右)并返回第二个操作数的值

var
语句由以下形式的一个或多个表达式组成:

varname [= value]
其中方括号表示可选组件。将军是这样的:

变量varname1[=value1[,varname2[,varname3…[,varnameN]]

您通常只会在
var
语句中看到逗号运算符,并且:

for(变量i=0,x=complex_数组[0];i

但它也可以在其他地方使用。

这只是在一条语句中声明两个变量的快捷方式,相当于:

var that           = cat(spec);
var super_get_name = that.superior('get_name');
JavaScript中的

逗号运算符计算其两个操作数(从左到右)并返回第二个操作数的值

var
语句由以下形式的一个或多个表达式组成:

varname [= value]
其中方括号表示可选组件。将军是这样的:

变量varname1[=value1[,varname2[,varname3…[,varnameN]]

您通常只会在
var
语句中看到逗号运算符,并且:

for(变量i=0,x=complex_数组[0];i

但是它可以在其他地方使用。

它允许您声明另一个变量。它相当于以下内容:

var that = cat(spec);
var super_get_name = that.superior('get_name');

请参阅。

它允许您声明另一个变量。它相当于以下内容:

var that = cat(spec);
var super_get_name = that.superior('get_name');

参见。

var x=y
是一条语句,但它包含一个表达式(
y
)。但是,var语句中的表达式不能包含逗号运算符。@Šime:但是整个语句不是一个表达式,所以我有点不确定如何向初学者正确解释这些细节。我的最新更新是否更清晰/准确?
var x=y
是一条语句,但它包含一个表达式(
y
)。但是,var语句中的表达式不能包含逗号运算符。@Šime:但是整个语句不是一个表达式,所以我有点不确定如何向初学者正确解释这些细节。我的最新更新是否更清晰/准确?