为什么这个表达式是 var a = 3, b = a = typeof b;给未定义?

时间:2021-03-27 06:31:05

标签: javascript

这个表达式在这个控制台中给了我 undefined 输出。 请帮助理解为什么打印 undefined

var a = 3, b = a = typeof b; // undefined

2 个答案:

答案 0 :(得分:2)

这里真正发生的是:

var a = 3;    // so a gets a value.
var b;        // var b exists but is undefined.
a = typeof b; // a receives type of b, which is undefined at this time
b = a;        // b gets the value from a

答案 1 :(得分:1)

赋值运算符根据其右操作数的值为其左操作数赋值。 即 a = b 将 b 的值赋给 a。

因此,在我们的例子中

b = a = typeof b;

a 得到 undefined 的值,然后是 b。

var a=3, b = a = typeof b;
undefined
a
"undefined"
b
"undefined"
相关问题