奇怪的javascript对象初始化?

时间:2012-12-05 00:17:31

标签: javascript variables object initialization

我最近在WebGL教程中遇到了这个变量初始化:

var mouse = { x: 0, y: 0 }, INTERSECTED;

我从未见过这种格式。我知道它正在创建一个具有x和y属性的对象,但是INTERSECTED与变量/对象的关系如何?

谢谢!

4 个答案:

答案 0 :(得分:9)

该行只是声明两个变量(mouseINTERSECTED),并将mouse初始化为{ x: 0, y: 0}

INTERSECTED不一定与mouse相关,但是如果明确的代码高度相关,那么明确的代码应该只声明多个变量(即便如此,许多变量更喜欢在单独的行上声明每个变量)。 / p>

答案 1 :(得分:3)

INTERSECTEDmouse无关。这只是初始化两个变量的一种方式。我猜测INTERSECTED就在那里,所以它被视为一个局部变量。

答案 2 :(得分:3)

我可能会弄错,但我认为这就像

var A=3,B;

定义A值3,B未初始化。 INTERSECTED只是另一个变种。

答案 3 :(得分:0)

只需加上我的2美分:通常的惯例就是将它们写在两条不同的线上,这无疑会避免任何混淆:

var mouse = { x: 0, y: 0 },
    INTERSECTED;

(另请注意,约定是有四个空格缩进,可以很好地对齐变量)