IE9 将上下文 'this' 转换为对象

IE9 cast context 'this' to Object

我在 IE9 中发现了奇怪的行为。假设我们有一个函数 return context:

function toContext() { return this; }

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

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

在 IE10 及更高版本中,它 return 通过原语,但 IE9 给出了这种奇怪的结果,这破坏了我的编码模式。

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

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