みなさん、こんにちは。
競合の問題を回避するために JavaScript の Object 要素と Function 要素を拡張する方法はありますか? もっと具体的に言ってみましょう:
2 つの .js ファイルがあるとします。
ex1.js は Object.prototype.aMethod=function(){/*a function*/}
ex2.js は Object.prototype.aMethod=function(){/*another function*/}
この状況では、 ex1.js 拡張は ex2.js の拡張によって上書きされます。
私の質問 :
拡張の効果をファイル コンテキストに制限する方法、またはモジュール コンテキストに制限する方法はありますか?
編集:
実際、私は crockford の著書 JavaScript: the good parts を読んでいます。彼はオブジェクトと関数のプロトタイプ拡張を通常のこととして使用しており、競合の問題については語っていません。この本はグローバル名前空間を汚染しないように傾いているので、これは奇妙です。だから私は何らかの回避策があるに違いないと思った。