【发布时间】:2014-02-08 12:37:20
【问题描述】:
我在某处看到了这段代码,但它是什么意思? (所有 a、b、c 都在前面定义过)
var a = b = c;
【问题讨论】:
-
看起来很简洁,这种语法在其他流行语言中是否有效? (python、java、c++、pascal等)
-
是的,几乎所有语言都一样。
标签: javascript variables equals
我在某处看到了这段代码,但它是什么意思? (所有 a、b、c 都在前面定义过)
var a = b = c;
【问题讨论】:
标签: javascript variables equals
它可以快速将多个变量分配给一个值。
在您的示例中,a 和 b 现在等于设置为 c 的值。
它也经常用于null 的大量分配以进行清理。
a = b = c = d = null;
【讨论】:
如果我说var a = b = 1;
>>> var a = b = 1;
undefined
>>> a
1
>>> b
1
【讨论】:
这意味着a、b 和c 是同一个引用。
例如:
var c = {hello: "world"};
var a = b = c;
// now all three variables are the same object
【讨论】:
这是以下的简写:
var a;
var b;
b=c;
a=b;
这意味着将相同的值分配给两个或多个其他变量,并同时在本地范围内声明这些变量。
您也可以独立于 var 声明使用此语法:
var a;
var b;
a=b=c;
【讨论】:
b=c;var a = b;的简写