赋值语句返回等号右边的值,为什么声明变量的表达式总是返回undefined?demo:var a = 1; 返回undefineda = 1; 返回1
一个是声明,一个是表达式。
声明语句没有返回值,或者说返回的是 ((void*)0),但 JS 里没有 void,((void*)0) 和 undefined 可以认为是等价的。
((void*)0)
void
undefined
REF: https://www.ecma-internationa...
表达式:
The assignment operation evaluates to the assigned value. 赋值表达式本身的值为其完成后被赋值的变量的值 REF: Assignment (=) - JavaScript | MDN (mozilla.org)
2.1m questions
2.1m answers
60 comments
57.0k users