每X秒调用一次函数不起作用

时间:2018-02-23 09:33:02

标签: javascript jquery html5

我有一段代码的百里叶模板:

$(document).ready(function() {
  (function() {
    alert('lalala');
    // do some stuff
    setTimeout(arguments.callee, 1000);
  })();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

我希望每秒在页面中看到al警报,但没有任何反应,我在控制台中看不到任何错误

1 个答案:

答案 0 :(得分:2)

如果我没记错的话,

arguments.callee已被弃用。

如果你想每x毫秒执行一段代码,这可能适合你。使用setInterval代替setTimeout

function repeatMe() {
  console.log("Lalala");
  //alert("Lalala");
}
var interval = setInterval(repeatMe, 1000);
repeatMe(); // To start it immediately

// Use this to stop the interval:
// clearInterval(interval);

如果您确实需要使用setTimeout而不是setInterval,请从setTimeout函数再次致电repeatMe