IE9 のとらえどころのない Console.log: 条件付きの存在
Internet Explorer 9 では、window.console.log の存在が興味深い謎を提示します。 。この記事では、この関数の謎めいた性質を掘り下げ、その存在と動作を制御する状況を調査します。
IE9 の Window.console.log: 不完全な図
IE9 の厳密な制限内では、開発者ツールのカーテンが特定のタブで正常に分離された場合にのみ、window.console.log 関数にグローバル スコープへのアクセスが許可されます。ただし、この一時的な症状は静的なものではありません。無限の Web をナビゲートするとき、開発者ツール ウィンドウが不用意に閉じられない限り、コンソール オブジェクトは常に付属し続けます。しかし、悲しいことに、新しいタブでは、とらえどころのないコンソールを公開するために開発者ツールとの新たな協定が必要です。
なぜ適用と呼び出しに調和がないのでしょうか?
謎はさらに深まります。 window.console.log.apply と window.console.log.call が特異的に存在しないことを考慮します。この不一致は、ホスト オブジェクトとしてのコンソール オブジェクトのユニークな性質、つまり ECMAScript の対応物のように Object から継承したり、Function からメソッドを派生したりしないことを誇らしげに選択するという、コンソール オブジェクトのユニークな性質から生じています。悲しいことに、IE9 による DOM オブジェクトへの準拠の不完全な採用により、開発者ツールは孤立状態に陥り、他のツールに与えられていたのと同じ祝福が奪われてしまいました。
希望の光: 救出へのバインド
これらの制限にもかかわらず、Function.prototype.bind の奥底から希望の光が現れます。この魔法の呪文により、コンソール メソッドと Function.prototype メソッドの間に調和のとれた絆を築くことができます。次のトリックを見てください:
これで、Function.prototype の魔法を少し使ってコンソール メソッドを呼び出す技術が完成しました。
以上がIE9 で開発者ツールが開いている場合にのみ window.console.log を使用できるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。