既存のオブジェクトのいくつかの文字列を置き換えることによってjavascriptオブジェクトに属性を作成しています。副作用として、this.propertyでアクセスしようとする3番目のプロパティにいくつかの追加の変更を加えたいのですが、replace関数ではこれは'master'オブジェクトの代わりにウィンドウを参照しています。this
3番目のプロパティにアクセスするために使用できるように、カプセル化オブジェクトを渡すにはどうすればよいですか。
b = {
a: 'onetwothree',
count: 0,
rp: function () {
this.c = this.a.replace(/e/g, function (str, evalstr) {
this.count++; // <-- this is refering to window.
return 'e' + this.count
})
}
};
b.rp();
b.c = 'oneNaNtwothreNaNeNaN
私はそれをしたいのに対してone1twothre2e3