IE9将上下文'this'转换为Object

时间:2017-04-25 14:47:19

标签: javascript internet-explorer internet-explorer-9

我在IE9中发现了奇怪的行为。假设我们有一个返回上下文的函数:

function toContext() { return this; }

在IE9中,如果我用一些原始上下文调用它,则将上下文转换为Object

toContext.call(3);  // => [object Number]
toContext.call(""); // => [object String]

在IE10及更高版本中,它返回传递的原语,但是IE9会给出这种奇怪的结果,这会破坏我的编码模式。

我在IE11中模仿IE9,也许这是模拟的问题。我搜索了旧IE的这种行为,但没有发现任何有用的东西。有人可以确认此行为会影响本机IE9,或者有人可能对此主题有更多了解吗?

1 个答案:

答案 0 :(得分:1)

IE9 does not support strict mode,您似乎正在使用它,但必须获得原始的this值。