"var variable"返回undefined?

nev*_*ame 7 javascript

当我运行"var variable = true;"时 在chrome控制台中我得到"undefined"返回:

> var variable = true;
undefined
Run Code Online (Sandbox Code Playgroud)

但是当我没有"var"运行时,它返回true:

> variable = true;
true
Run Code Online (Sandbox Code Playgroud)

为什么用"var"返回"undefined"?

这令人困惑,因为我预计它会回归真实.

Mar*_*tos 6

第一个是声明,第二个是表达式.虽然不完全相同,但它类似于C的规则:

// A statement that has no value.
int x = 5;

// An expression...
x = 10;

// ...that can be passed around.
printf("%d\n", x = 15);
Run Code Online (Sandbox Code Playgroud)