首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript语法需要一些解释

Javascript语法需要一些解释
EN

Stack Overflow用户
提问于 2011-04-22 05:37:58
回答 3查看 83关注 0票数 1

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

代码语言:javascript
运行
复制
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行)谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-22 05:40:34

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

代码语言:javascript
运行
复制
var that           = cat(spec);
var super_get_name = that.superior('get_name');

JavaScript中的comma is actually an operator

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

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

代码语言:javascript
运行
复制
varname [= value]

其中方括号表示可选组件。一般的var statement如下所示:

var varname1 [= value1 [,varname2 [,varname3 ...,varnameN];

您通常只会看到var语句和for loops中使用的逗号运算符

代码语言:javascript
运行
复制
for(var i = 0, x = complicated_array[0]; i < complicated_array.length; x = complicated_array[++i])

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

票数 5
EN

Stack Overflow用户

发布于 2011-04-22 05:41:07

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

代码语言:javascript
运行
复制
var that = cat(spec);
var super_get_name = that.superior('get_name');

请参阅var statement docs @ MDC

票数 3
EN

Stack Overflow用户

发布于 2011-04-22 05:40:29

缩进错误,应该是:

代码语言:javascript
运行
复制
var that = cat(spec),
    super_get_name = that.superior('get_name');

这等同于说:

代码语言:javascript
运行
复制
var that = cat(spec);
var super_get_name = that.superior('get_name');
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5750055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档