我有一个看起来像这样的函数:
function outer() {
function inner_1() {
alert('inner_1');
}
function inner_2() {
alert('inner_2');
}
function inner_3() {
alert('inner_3');
}
inner_1();
inner_2();
inner_3();
}
我需要调用outer()
,但我想inner_1()
用另一个函数替换。
我试过这个:
new_outer = outer;
new_outer.inner_1 = function() {
alert('my new inner function');
};
如果我尝试inner_1
像这样调用新重新定义的:
new_outer.inner_1();
它按预期工作(警告“我的新内部功能”)。
但是如果我尝试调用外部函数:
new_outer();
旧版本的inner_1
被称为。
我想重新定义inner_1
和调用outer
。我怎样才能做到这一点?