代码之家  ›  专栏  ›  技术社区  ›  Ashir Nadeem

setTimeout使文本无法识别

  •  0
  • Ashir Nadeem  · 技术社区  · 2 年前

    我想写一个代码,接受我的字符串并在4秒后显示它

    我写这段代码是为了在4秒钟后显示hi,但在instea,d中,它会在4秒钟之后立即显示字符串 它变得无法识别。我的代码在这里:

    `setTimeout(myMessage, 4000);
    function myMessage(message){
    const para = document.querySelector('.text');
    return para.innerHTML = message;
    }
    myMessage('hi');`
    
    1 回复  |  直到 2 年前
        1
  •  0
  •   Dewaun Ayers    2 年前

    undefined 价值之所以发生,是因为您正在设置 myMessage 作为您的回调 setTimeout 函数而不将其传递给 message 论点这个 setTimeout 回调不排除任何参数,所以当您像这样传入函数时:

    setTimeout(myFn, 1000);
    

    这与执行此操作相同:

    setTimeout(() => myFn(undefined), 1000);
    

    要解决此问题,您可以更改setTimeout实现,如下所示:

    setTimeout(() => myMessage('another message'), 4000);
    

    希望这能有所帮助!