javascript和var关键字中的赋值

javascript和var关键字中的赋值,第1张

javascript和var关键字中的赋值

根据ECMA-262第12.2节,
VariableStatement (即

var identifier=value
)明确不返回任何内容。另外, VariableStatement
是一条语句;语句不返回值,并且将Statement放置在expression所在的位置是无效的。

例如,以下任何一项都没有意义,因为它们将一个Statement放置在您需要增值表达式的位置:

var a = var b;function fn() { return var x; }

根据第11.13.1节,
分配 给变量(

identifier=value
)会返回分配的值。


在编写时

var a = 1;
,它声明
a
并将其值初始化为
1
。由于这是一个 VariableStatement
,因此不返回任何内容,并且REPL打印
undefined

a=1
是分配
1
给的表达式
a
。由于没有
a
,Javascript会在普通代码中隐式创建一个 全局
变量
a
(但是会
ReferenceError
在严格模式下抛出,因为您不允许在严格模式下隐式创建新的全局变量)。

无论之前是否

a
存在,表达式仍会返回分配的值
1
,因此REPL会打印该值。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5172293.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存