当我有一些需要执行多次的代码时,我会将它们封装在一个函数中,这样就不必重复自己。有时候还需要在页面加载时首先执行此代码。目前我是这样做的:
function foo() {
alert('hello');
}
foo();
我更倾向于用这种方式:
(function foo() {
alert('hello');
})();
问题是,这只会在页面加载时执行,但如果我尝试使用foo()
在后续调用它,它就不起作用了。
我猜这是一个作用域问题,但有没有办法使自执行函数在稍后被调用时仍能正常工作?