变量声明为什么都会返回undefined?

赋值语句返回等号右边的值,为什么声明变量的表达式总是返回undefined?
demo:
var a = 1; 返回undefined
a = 1; 返回1

阅读 2.8k
2 个回答

一个是声明,一个是表达式。


声明语句没有返回值,或者说返回的是 ((void*)0),但 JS 里没有 void((void*)0)undefined 可以认为是等价的。

REF: https://www.ecma-internationa...

表达式:

The assignment operation evaluates to the assigned value.
 
赋值表达式本身的值为其完成后被赋值的变量的值
 
REF: Assignment (=) - JavaScript | MDN (mozilla.org)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题