次のように .call() または .apply() を使用して別の関数を呼び出す必要がある状況に遭遇しました。
function b() {
alert(arg);
}
それで
function a(arg) {
b.call();
}
a(123);
関数 b が呼び出されますが、arg にアクセスできません。大丈夫です、スコープを渡すことができます..はい?
function a(arg) {
b.call(this);
}
a(123);
まだいいえ -関数 b からargにアクセスできません。どうすればいいですか?
更新: b 関数を変更したくありません:-)