EventEmitterのソースを読んでみました。aliasClosure()
関数で定義されているクロージャにジャンプしたいalias(name)
function alias(name) {
return function aliasClosure() {
return this[name].apply(this, arguments);
};
}
また:
proto.on = alias('addListener');
私は小さなスクリプトを書きます
var ee = new EventEmitter();
function l() {
console.log('Test');
}
ee.on('foo', l);
ee.emitEvent('foo');
行にブレークポイントを設定しますee.on('foo', l);
FireBug で F11 キーを押した後、ジャンプを待っていreturn this[name].apply(this, arguments);
ますが、コンソールにエラー メッセージが表示されます。
デバッガーの再開: デバッグ ループ中のエラー: TypeError: firstViewRangeElement が null です
行return this[name].apply(this, arguments);
デバッガーにブレークポイントを設定すると、このブレークポイントはスキップされます (停止しないでください)。私が間違っていることは何ですか?