Javascript のオブジェクトがあり、コンストラクターに渡されたデータを、後でより多くのデータを使用して外部から呼び出すことができる関数を使用して処理したいと考えています。当然、コードを複製したくありません (コンストラクターで 1 回、関数で 1 回)。
ネストされた関数を使用できますが、これは非効率的だと言われています:
function MyOb(data) {
this.myData = {};
function addData(newData) {
//Add newData to myData
}
addData(data);
}
しかし、プロトタイプを使用すると、3 行目に「変数 addData が見つかりません」というエラーが表示されます。
function MyOb(data) {
this.myData = {};
addData(data);
}
MyOb.prototype.addData = function(newData) {
//Add newData to myData
}
それで、ネストされた関数を使用するか、自分自身を繰り返す必要がありますか、またはプロトタイプを使用してこれを機能させる方法はありますか?