foo
是一个调用自身的函数,并且在bar
其中也有一个调用自身的函数。那我就暴露了bar
。但为什么它后来说 'foo' is undefined
?
var foo = (function(){
var bar = (function(t){
console.log(t);
})('test 1');
return bar;
})();
console.log(foo); // output: undefined
更新:
我想做这样的事情:
var foo = (function foo(){
(function bar(t){
console.log(t);
})('test 1');
return { bar : bar };
})();
foo.bar('test 2');
只是现在bar
无法识别..似乎我不能自我执行一次,但将其作为返回值传递..