私は質問のタイトルを正しく表現しているかどうかわかりません。 ...明確にするために以下の点を考慮してください`オブジェクト 'のメソッド/プロパティに` this`の継承を拡張する
私はfoo
の方法/小道具内
this
へのアクセスを有するが
this
は初期
object
別名
e
なく
foo
を参照持つに行くかどう
(function() {
var foo = {
bar: function() {
// Is it possible to reference 'this' as the
// initializing 'object' aka 'e' and not 'foo' ?
// The easy part, currently because 'this' refers to 'foo',
// is returning 'this' aka 'foo' so that chaining can occur
return this;
},
other: function() {
return this;
}
};
Event.prototype.foo = foo;
}());
// usage
document.onmousemove = function(e) {
e.foo.bar().other();
};
?
私が出ているという最高のは、この
(function() {
var foo = function() {
var _foo = this.foo;
_foo._this = this; //recursive reference that I am VERY worried about
return _foo;
};
foo.bar = function() {
var _this = this._this; //_this refers to initial 'object', 'e'
return this; //return 'foo' aka 'this' for function chaining
};
foo.other = function() {
var _this = this._this;
return this;
};
Event.prototype.foo = foo;
}());
// usage
document.onmousemove = function(e) {
e.foo().bar().other();
};
私が現在持っていることは動作しますが、私は物事のカップルが心配です...
1.あります再帰的な参照の参照e.foo._this
と
2. e
をe.foo._this
に割り当てる冗長性は、の代わりにe
としてアクセスできる場合は、特に、mousemoveイベントのようなものに関しては、より良いパフォーマンスを出すでしょう。
また、Imはこのような何かを避けるためにしようと...
すべての提案は、あなたの時間をありがとう感謝しています。
私はあなたを正しく理解していれば、基本的に 'foo'オブジェクトとイベントを引き起こした要素の両方にアクセスしたいと思っていますか? – basilikum
@basilikumはい...ちょっと? 'event'自体と' foo'オブジェクトです。 Kindaのような 'this'と' this.foo'。それが理にかなっていれば? – Terry