(function foo() {
alert('Hello World!');
setTimeout(foo,1000);
})();
私はそのような関数を書きました。タグ内の HTML ページ内にその関数を配置すると、この関数は正しく機能します。しかし、この関数を外部の JavaScript ファイルに配置し、そのファイルを Web ページにリンクすると、この関数は 1 回だけ実行されます (アラートは 1 回だけポップアップします)。つまり、setTimeout(foo,1000); 効果はないようです。
どこに問題があり、どうすればこれを取り除くことができますか? [ただし、js ファイルの他の機能は正常に動作します。]