代码片段- Javascript语法需要一些解释
code snippets - Javascript syntax need some explanation
我正在阅读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)之后的昏迷感到困惑。这条线到底是做什么的?(第二行+第三行)由于
这是在一个语句中声明两个变量的快捷方式,相当于:
var that = cat(spec);
var super_get_name = that.superior('get_name');
逗号在JavaScript中实际上是一个操作符:
逗号操作符计算它的两个操作数(从左到右),并返回第二个操作数的值。
一个var
语句由如下形式的一个或多个表达式组成:
varname [= value]
,其中方括号表示可选组件。一般的var
语句如下所示:
var varname1 [= value1 [, varname2 [, varname3…][varnameN]]]];
逗号操作符通常只在var
语句和for
循环中使用:
for(var i = 0, x = complicated_array[0]; i < complicated_array.length; x = complicated_array[++i])
允许您声明另一个变量。它相当于以下内容:
var that = cat(spec);
var super_get_name = that.superior('get_name');
参见var
语句文档@ MDC
缩进不对,应该是:
var that = cat(spec),
super_get_name = that.superior('get_name');
这就等于说:
var that = cat(spec);
var super_get_name = that.superior('get_name');
相关文章:
- PubSub Design Pattern 的 Jquery 语法解释
- 解释Redux语法
- 你能解释一下这个JavaScript语法(变量外推)吗?
- JavaScript 语法解释 (function () { } )();.
- 语法:const {} = 变量名称,任何人都可以解释或指出我正确的方向
- 聚合物 - 有人可以解释一下聚合物中使用的this.$.foo.bar JavaScript语法
- 有人可以在 JavaScript 中解释这种函数包装语法吗?
- Javascript解释 - 语法/格式/风格对我来说是新的
- Ruby on Rails 和 angularJS:有人可以解释一下用法和语法吗?
- 有人能解释一下这个require.js示例中涉及的语法吗
- JSON语法-变量被解释为文字
- 解释了自执行函数语法和回调语法
- JQuery语法解释
- 解释(liveCats中的var cat)语法
- Javascript语法解释-条件性
- 此时间转换的语法解释
- 如何解释这个Javascript语法
- 有人能用Javascript解释一下这个语法吗;type=type||'fx'&”;
- 这些语法有什么不同,请详细解释
- 解释javascript代码语法