关于js的undefined一个问题

2025-02-24 07:23:08
推荐回答(1个)
回答1:

undefined确实不是关键字, 而是全局对象上的一个属性(property), 它在ECMA-262第5版的时同NaN, Infinity被增加了只读属性
回到代码
第一段是因为此处的undefined是访问到全局对象(也就是window)的undefined属性, 它是只读的, 所以赋值操作不起作用(但并不意味着报错)
第二段是因为此处undefined是一个普通变量, 当然可以进行读写
另外, 你可以在低版本IE上测试第一段代码试试