如何刷新 javascript 中的特定元素

How to refresh particurlar element in javascript

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

我哪里错了?

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

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

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

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

setInterval(abcd, 1000);

尝试如下使用 abcd 而不是 abcd()

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

       setInterval(abcd,1000);
      

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

abcdabcd()的区别在于第一个是引用而第二个是returnvalue(在你的例子中 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);

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

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