これは、パフォーマンスの問題というよりも利便性の問題です (ただしdocument.head、メリットはほとんどありません)。好きな方を使用するか、一方を他方へのフォールバックとして使用します (例のコードのように)。document.headIE 6-8 ではサポートされていないため、フォールバックを使用することは賢明です。
すぐに非推奨になる可能性は低いgetElementsByTagNameため、これはフォールバックを提供するのが良い例ではありません。より詳細なルートを単独で安全に使用して、将来のサポートを楽しむことができます.
これらのタイプのより良い例は、イベントであり、古いブラウザーと比較して、最新のブラウザーでイベントがどのように渡されるかです。次のようなものを目にすることは珍しくありません。
function callback (event) {
var id = (event || window.event).target.id;
}
ただし、この場合、そのwindow.event部分はレガシー サポートに必要です。eventオブジェクトがの場合undefined、イベントはwindowオブジェクトのメンバーであると見なされます。ブラウザが成熟するにつれて、それはもはや重要でwindow.eventはなくなり、代わりにこれらのテストが全会一致で戻ってきevent.target.idます。
繰り返しますが、あなたのケースは少し異なります.getElementsByTagNameおそらく廃止されたり消えたりすることはないでしょうwindow.event.