问答详情
源自:8-5 计时器setTimeout()

setTimeout方法里面的方法如果有参数怎么办

<!DOCTYPE HTML>
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>setTimeout</title>
    <script type="text/javascript">
      var delayTime;
      function showAlertAfter(waitingTime, message){
        delayTime = window.setTimeout('alert(message)', waitingTime);
      }

    </script>
  </head>
  <body>
    <input type="button" value="clickme" onclick="showAlertAfter(5000,'Hello world')"/>
  </body>
</html>

上面的代码,运行会没有反应,因为window.setTimeout('alert(message)', waitingTime);这一行不行,因为message是传进来的参数,但是要怎么改才能让它显示传进来的message呢

提问者:turboburst 2018-09-30 08:53

个回答

  • 迷茫中滚打
    2018-10-10 14:55:34

    第 9 行,

            delayTime = window.setTimeout('alert(message)', waitingTime);

    发现,setTimeout 里 alert 那的单引号去掉就可以执行了,但不清楚为什么不是 5s 后弹出提示框。


  • 阳火锅
    2018-09-30 11:31:53

    定时器的方法里面不要乱传东西...谢谢