【问题标题】:How to refresh particurlar element in javascript如何在javascript中刷新特定元素
【发布时间】:2018-04-14 14:44:58
【问题描述】:

我正在尝试显示日期并同时刷新它以显示每秒

我哪里做错了?

<script>
    function  abcd(){
        var date = new Date();
        document.body.innerHTML = "<h1>Today is: " + date +  "</h1>";
    }

    setInterval(abcd(),1000);
</script>

【问题讨论】:

  • abcd替换abcd()

标签: javascript refresh


【解决方案1】:

当您编写 setInterval(abcd(),1000) 时,会立即调用函数 abcd 并传递 abcd 的返回值,在这种情况下这是未定义的,因此实际上您正在编写 setInterval(undefined, 1000),因为您的代码无法按预期工作。只需传递函数的名称即可。

【讨论】:

    【解决方案2】:

    尝试如下使用 abcd 代替 abcd()

             function  abcd(){
             var date = new Date();
             document.body.innerHTML = "<h1>Today is: " + date +  "</h1>";
          }
    
           setInterval(abcd,1000);
          

    【讨论】:

      【解决方案3】:

      正如@gurvinder372 所说,setInterval 函数的接口是一个函数和一个整数。 您需要传递函数本身而不是调用它。

      function abcd() {
        var date = new Date();
        document.body.innerHTML = "<h1>Today is: " + date + "</h1>";
      }
      
      setInterval(abcd, 1000);

      【讨论】:

        【解决方案4】:

        调用函数时可以使用以下代码:

        setInterval(function(){
         abcd();
        }, 1000);
        

        【讨论】:

          【解决方案5】:

          abcdabcd() 之间的区别在于第一个是引用,第二个将返回一个(在您的情况下为undefined

          为什么要传入参考

          引用可以在函数内部执行

          示例

          function logMe() {
            console.log('Hi :o')
          }
          
          function logMeToo() {
            console.log('Bye')
          }
          
          function messageLogger(youFunction) {
            youFunction()
          }
          
          messageLogger(logMe)
          messageLogger(logMeToo)

          代码

          function abcd() {
            var date = new Date();
            document.body.innerHTML = "<h1>Today is: " + date + "</h1>";
          }
          
          setInterval(abcd, 1000);

          【讨论】:

            猜你喜欢
            • 2011-12-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-06-06
            • 2011-12-23
            • 2015-10-19
            • 2012-09-17
            相关资源
            最近更新 更多