我有以下情况
var bar = (function () {
function foo() {
console.log("Hello World");
}
function bar() {
foo();
}
return bar;
} ());
// override foo before the call
bar();
由于foo是从一个从闭包内部返回的bar函数调用的,因此可以认为foo就像私有属性一样。
我想知道在调用foo
之前是否可以覆盖bar
函数?有多少种方法可以实现?
这是尝试但我无法达到结果的东西。
var bar = (function () {
function foo() {
console.log("Hello World");
}
function bar() {
foo();
}
return bar;
} ());
var _bar = (function () {
function foo() {
console.log("Hey there");
}
return bar;
} ());
_bar();
答案 0 :(得分:2)
我想知道如果可以在调用条形图之前覆盖foo函数?有多少种方法可以实现?
不,不要保留/重用bar
的当前功能。您可以完全替换bar
,但这并不是特别有用。
foo
完全私有到创建它的上下文。 bar
可以访问它,但没有其他功能(好吧,好的,foo
可以访问本身)。没有办法进入执行上下文bar
关闭并更改其foo
绑定,除非明确启用它,在您的示例中没有任何内容。