0
    (function foo() {
        alert('Hello World!');
        setTimeout(foo,1000);
    })();

我写了一个这样的函数。当我将该函数放在标签内的 HTML 页面中时,该函数可以正常工作。但是当我将此函数放入外部 javascript 文件并将该文件链接到我的网页时,此函数仅执行一次(警报仅弹出一次)。我的意思是 setTimeout(foo,1000); 似乎没有任何效果。

问题出在哪里,我该如何解决?[但我的 js 文件上的其他功能可以正常工作。]

4

1 回答 1

0

固定的:

我认为你只需要像这样包装成闭包函数:

(function() {
    function foo(){
      console.log('Hello, world!', new Date().toLocaleTimeString());
      setTimeout(foo,1000);
    }

    window.onload = foo;
})();

一点点理论和例子

于 2013-07-27T14:45:23.017 回答