我正在阅读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(spec)之后的昏迷搞糊涂了。这行到底是做什么的?(第2行+第3行)谢谢
发布于 2011-04-22 05:40:34
这只是在一条语句中声明两个变量的快捷方式,它等同于:
var that = cat(spec);
var super_get_name = that.superior('get_name');JavaScript中的comma is actually an operator:
逗号操作符计算它的两个操作数(从左到右),并返回第二个操作数的值。
var语句由以下形式的一个或多个表达式组成:
varname [= value]其中方括号表示可选组件。一般的var statement如下所示:
var varname1 [= value1 [,varname2 [,varname3 ...,varnameN];
您通常只会看到var语句和for loops中使用的逗号运算符
for(var i = 0, x = complicated_array[0]; i < complicated_array.length; x = complicated_array[++i])但它也可以在其他地方使用。
发布于 2011-04-22 05:41:07
它允许您声明另一个变量。它等同于以下内容:
var that = cat(spec);
var super_get_name = that.superior('get_name');发布于 2011-04-22 05:40:29
缩进错误,应该是:
var that = cat(spec),
super_get_name = that.superior('get_name');这等同于说:
var that = cat(spec);
var super_get_name = that.superior('get_name');https://stackoverflow.com/questions/5750055
复制相似问题