こことここにリストされている理由により、DOM全体を拡張することは悪いことだと最近読みました。私が理解しているように、それに対する主な理由は次のとおりです。
- IEではうまく動作しない/まったく動作しない
Document.prototype.hide
フレームワークが使用し、ブラウザhide
がドキュメント要素に関数を実装する場合など、競合が発生する可能性があります- ブラウザは非常に異なる方法で物事を実装します
しかし、私は誰もこれらの質問をしているのを見たことがありません。
- DOM を拡張したい場合、どうすれば安全に拡張できますか?
hide
明らかにラッパーを使用する以外に、DOM 全体などに関数を安全にネイティブに追加するにはどうすればよいでしょうか。 - 安全に実装できない場合、具体的な理由は何ですか?
typeof Document.prototype.hide == 'undefined'
プロトタイプに自作関数を実装する前にチェックするなどのチェックを実装できますか?
言い換えれば、DOM を安全に拡張する方法と、ブラウザがhide
関数を作成した場合に、コードを完全に作り直す必要がないようにするにはどうすればよいかを説明してください。