Šim*_*das 5 javascript browser
当我这样做:
Object.prototype.toString.call( null )
Run Code Online (Sandbox Code Playgroud)
或这个:
Object.prototype.toString.call( )
Run Code Online (Sandbox Code Playgroud)
浏览器返回以下字符串值(在两种情况下):
Chrome 9:[object global]
Safari 5:[object DOMWindow]
Firefox 3.6:[object Window]
Opera 11:[object Window]
但是在IE9 RC中,返回值分别为[object Null]和[object Undefined].
ES5规范规定:
注意thisArg值未经修改即作为此值传递.这是对第3版的更改,其中未定义或null thisArg将替换为全局对象,ToObject将应用于所有其他值,并且结果将作为此值传递.
见这里:http://es5.github.com/#x15.3.4.4
这是否意味着IE9是唯一遵循这个新引入的规则的浏览器?