需要帮助理解Javascript setinterval和函数声明

时间:2013-02-28 19:04:50

标签: javascript jquery

我对js和jquery很新,需要帮助理解为什么这个脚本不起作用。我已经多次检查过,但在我的所有研究中,都有一些我不知道的东西。任何帮助,将不胜感激。代码应该每隔2秒在div中设置一次文本值。我从实际功能中删除了这些代码,因此忽略了它什么都不做的事实。如果我没有正确发布,请原谅并纠正我。这是我的第一篇文章。 代码如下:

<html>
  <head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript">
    </script>
    <script type="text/javascript">
      var test=0;
      var timer = setInterval(save_it(), 2000);
      var test=0;
        $(document).ready(function(){
          var save_it = function(){
            testdiv.innerhtml = test++;
          };
        });
     </script>
  </head>
<body>
  <div id="testdiv"></div>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

试试这个例子(jsFiddle http://jsfiddle.net/Br59d/

HTML:

<div id="testdiv"></div>

的javascript:

var test=0;

$(document).ready(function(){
    var timer = setInterval(save_it, 2000);
});

function save_it(){
    $('#testdiv').html(test.toString());
    test++;
};

答案 1 :(得分:0)

提供一些意见:

var save_it = function() {

function save_it() {

采取两种不同的方式。如果使用var save_it = function(),则无法在声明之前调用该函数。

即。你不能这样做:

save_it();
var save_it = function() {
    alert('k');
}

但是,如果你使用函数save_it(),你可以。

save_it();
function save_it() {
    alert('k');
}

JSFiddle:http://jsfiddle.net/jeffshaver/nmSD6/