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

为什么不能运行t=setTimeout("alert(date)",5000);

why?

提问者:慕运维2948618 2014-12-25 23:43

个回答

  • Tracy_
    2014-12-26 10:41:19
    已采纳

    楼上的同学回答有误。

    主要是因为你传递是date这个参数,而setIimeout是没法直接传递参数的,需要多写点东西。


    给你个链接,你好好看看,看看有没有什么启发。

    setTimeOut传参数

  • 百品
    2015-01-05 16:25:35

    <!DOCTYPE HTML>
    <html>
    <head>
        <script type="text/javascript">
            function tinfo(){ 
                var t=setTimeout(show1,1500);
            }
            function show1()
            {
                var date=new Date();
                alert(date);
            }
        </script>
    </head>
    <body>
    <form>
        <input type="button" value="start" onClick="tinfo()">
    </form>
    </body>
    </html>

    作为函数传进去吧。貌似这样语法是不对的。


  • 百品
    2015-01-05 16:12:10

    <!DOCTYPE HTML>
    <html>
    <head>
        <script type="text/javascript">
            function tinfo(){
                var date=new Date();
                var t=setTimeout("alert('date')",3000);
            }
        </script>
    </head>
    <body>
    <form>
        <input type="button" value="start" onClick="tinfo()">
    </form>
    </body>
    </html>

    测试已通过。参数用单引号括起来

  • 用户1115604
    2014-12-26 14:59:19

     var date = new Date();

     t = setTimeout("alert(date)",5000);


    这样写一定是没问题的,我猜是因为你date没定义,如果还不行打开浏览器按F12看看报什么错误


  • menghuanbaolei
    2014-12-26 04:08:24

    额,你应该这样写,var t=setTimeout(alert(date),1000);

    如果可以的话,教我如何代码快照吧