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

来源:8-5 计时器setTimeout()

慕运维2948618

2014-12-25 23:43

why?

写回答 关注

5回答

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

    楼上的同学回答有误。

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


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

    setTimeOut传参数

    menghu...

    额,原来是这样,我懂了

    2014-12-26 21:02:39

    共 3 条回复 >

  • 百品
    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>

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

    百品

    额。不好意思。这个还是不对。这个作为字符串传参了。

    2015-01-05 16:20:05

    共 1 条回复 >

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

     var date = new Date();

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


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


    慕运维294...

    我试了一下,要在函数外定义才有效!不是不可以带参。这样就方便多了,谢谢你

    2014-12-31 00:45:10

    共 2 条回复 >

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

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

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

    慕运维294...

    你的方法不可以。不能达到延时效果。 代码快照是在提问栏的内容:的旁边。

    2014-12-26 16:35:31

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468196 学习 · 21891 问题

查看课程

相似问题