var a,b,c = {}

Wes*_*ley 1 javascript reference object assignment-operator

我以为语法:

var a, b, c = {};
Run Code Online (Sandbox Code Playgroud)

意味着这三个变量是分开的,而不是对同一个{}的引用.

这是因为{}是一个对象,这是标准行为吗?

所以,如果我这样做:

var a, b, c = 0;
Run Code Online (Sandbox Code Playgroud)

三者确实是分开的而不是参考?

谢谢,韦斯利

Fla*_*ino 11

他们应该不一样,不.仅c将分配值.

a并且b只会被声明,但不会被初始化为任何东西(它们是未定义的).c作为他们中唯一的一个,将被初始化为{}

写在几行上可能更清楚:

var a,      // no assignment
    b,      // no assignment
    c = {}; // assign {} to c
Run Code Online (Sandbox Code Playgroud)