null / undefined将替换为IE9以外的所有浏览器中的全局对象

时间:2011-02-20 03:29:13

标签: javascript browser

当我这样做时:

Object.prototype.toString.call( null )

或者这个:

Object.prototype.toString.call( )

浏览器返回以下字符串值(在两种情况下):

Chrome 9:[object global]
Safari 5:[object DOMWindow]
Firefox 3.6:[object Window]
歌剧11:[object Window]

但是在IE9 RC中,返回值分别为[object Null][object Undefined]

ES5规范声明:

  

注意传递thisArg值   没有修改这个   值。这是版本的变化   3,其中一个undefined或null thisArg   被全局对象替换   ToObject应用于所有其他   值和结果传递为   这个值。

见这里:http://es5.github.com/#x15.3.4.4

这是否意味着IE9是唯一遵循这个新引入的规则的浏览器?

1 个答案:

答案 0 :(得分:3)

我要走出去,说。 ;)

仅供参考,我刚刚测试了FF4,它提供了[object Null][object Undefined]