我在IE9中發現了奇怪的行爲。比方說,我們有一個返回上下文功能:IE9投射上下文'這'到對象
function toContext() { return this; }
在IE9中,如果我有一些原始的上下文調用它,上下文澆鑄到對象
toContext.call(3); // => [object Number]
toContext.call(""); // => [object String]
在IE10及更高版本,它返回傳遞原始的,但IE9給這個奇怪的結果,這破壞了我的編碼模式。
我在IE11中模擬IE9,也許這是模擬問題。我搜索了舊的IE的這種行爲,但沒有發現任何有用的東西。有人可以確認這種行爲會影響本地IE9,或者有人知道更多關於此主題的內容嗎?
使用嚴格模式獲取原語,使用sloppy模式將其轉換爲對象。爲了將值賦給對象,不要使用'getContext.call',而只使用'Object'。 – Bergi