JavaScript中在控制台声明变量为何输出undefined?
为什么执行
var a = "happy"后控制台显示undefined? 当你在浏览器控制台执行var a = "happy"这类变量声明语句时,控制台输出undefined的核心原因很简单:JavaScript的var声明语句本身没有返回值。
控制台的运行逻辑是这样的:
- 它会执行你输入的代码片段,在当前上下文(通常是全局环境)中完成变量声明和赋值操作
- 执行结束后,控制台会自动输出这段代码的求值结果:
- 如果输入的是表达式(比如直接敲
"happy"或者1+2),控制台会输出表达式计算后的结果 - 但
var属于声明语句,这类语句不属于表达式范畴,本身没有返回值,JavaScript引擎会默认返回undefined,控制台就把这个值打印出来
- 如果输入的是表达式(比如直接敲
举个对比例子:
- 直接输入
"happy",控制台会输出"happy"(这是字符串表达式的返回值) - 输入
var a = "happy"; a,控制台会输出"happy"(因为最后执行的a是表达式,返回变量的值)
内容的提问来源于stack exchange,提问作者Revanth srinivaslu Bolla
相关产品推荐
相关产品推荐

