重新定义作为另一个函数一部分的函数
Redefining a function which is part of another function
我有一个函数,看起来像这样:
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();
它按预期工作('my new inner function'被提醒)。
但是如果我尝试调用外部函数:
new_outer();
调用旧版本的inner_1
。
我想重新定义inner_1
和调用outer
。我怎样才能做到这一点呢?
这似乎是一个非常糟糕的主意,所以我不打算发布任何代码。然而,如果你只是为了"教育目的"而寻求答案,我将只是提示你,尽管你不能轻易地从它的作用域之外重新定义一个函数(根据你的例子),没有什么可以阻止你重新定义一个附加到函数对象的函数。
无论你想解决什么问题,我都认为有更好的解决办法。
相关文章:
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 在另一个函数中使用变量this
- 在另一个函数成功结束后调用该函数
- 多次调用另一个javascript函数中的javascript函数
- 使用JS函数来使用另一个函数的语法?node.js
- 嵌套到另一个函数中的Fancybox函数;不起作用
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 另一个Ajax函数触发的Ajax函数不起作用
- 如何从另一个处理程序内部取消JavaScript事件处理程序函数的执行
- 如何在不预定义的情况下将javascript函数传递到另一个函数中
- 从另一个函数获得$this值
- 如何记录调用另一个函数的函数的返回值
- 它在另一个函数中嵌套后不会输出文本
- 如何将自动完成的值传递到另一个函数中
- 将一个函数作为参数传递给javascript中的另一个函数
- 同一事物的两个函数,一个崩溃,另一个不崩溃,为什么
- 从另一个函数延迟解析的返回
- 多次调用promise函数,直到另一个promise函数满足条件