私はIE9で奇妙な動作を発見しました。我々はコンテキストを返す関数で考えてみましょう:IE9でIE9は 'this'をオブジェクトにキャストします
function toContext() { return this; }
を私はいくつかの原始的な文脈でそれを呼び出す場合、コンテキストは、IE10で
toContext.call(3); // => [object Number]
toContext.call(""); // => [object String]
をObjectにキャストされて以降、それが渡さ返しますプリミティブですが、IE9はこの奇妙な結果をもたらし、私のコーディングパターンを崩壊させます。
私はIE11でIE9をエミュレートしますが、これはエミュレーションに問題がある可能性があります。私は古いIEのこの動作を探しましたが、役に立たないものは何も見つかりませんでした。誰かがこの動作がネイティブIE9に影響するか、あるいは誰かがこのトピックについてもっと知っていることを確認できますか?
プリミティブを取得するには厳密モードを使用し、オブジェクトにキャストするには粗雑なモードを使用します。値をオブジェクトにキャストするには、 'getContext.call'ではなく' Object'だけを使用してください。 – Bergi