我在IE9中发现了奇怪的行为。假设我们有一个返回上下文的函数:
function toContext() { return this; }
在IE9中,如果我用一些原始上下文调用它,则将上下文转换为Object
toContext.call(3); // => [object Number]
toContext.call(""); // => [object String]
在IE10及更高版本中,它返回传递的原语,但是IE9会给出这种奇怪的结果,这会破坏我的编码模式。
我在IE11中模仿IE9,也许这是模拟的问题。我搜索了旧IE的这种行为,但没有发现任何有用的东西。有人可以确认此行为会影响本机IE9,或者有人可能对此主题有更多了解吗?