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