为了账号安全,请及时绑定邮箱和手机立即绑定

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

why?

正在回答

6 回答

楼上的同学回答有误。

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


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

setTimeOut传参数

1 回复 有任何疑惑可以回复我~
#1

menghuanbaolei

额,不可能,我试过了,可以的,你也可以试一下,如果不可以,你在说我吧
2014-12-26 回复 有任何疑惑可以回复我~
#2

慕运维2948618 提问者

谢谢。我已知道了
2014-12-26 回复 有任何疑惑可以回复我~
#3

menghuanbaolei

额,原来是这样,我懂了
2014-12-26 回复 有任何疑惑可以回复我~
<!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>

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


0 回复 有任何疑惑可以回复我~
<!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>

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

0 回复 有任何疑惑可以回复我~
#1

百品

额。不好意思。这个还是不对。这个作为字符串传参了。
2015-01-05 回复 有任何疑惑可以回复我~

 var date = new Date();

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


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


1 回复 有任何疑惑可以回复我~
#1

menghuanbaolei

无奈了,同学,请占用自己一点时间,复制粘贴,自己试一下,不行,再试试 var t=setTimeout(alert(date),1000); 看看可不可以
2014-12-26 回复 有任何疑惑可以回复我~
#2

慕运维2948618 提问者

我试了一下,要在函数外定义才有效!不是不可以带参。这样就方便多了,谢谢你
2014-12-31 回复 有任何疑惑可以回复我~

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

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

0 回复 有任何疑惑可以回复我~
#1

慕运维2948618 提问者

你的方法不可以。不能达到延时效果。 代码快照是在提问栏的内容:的旁边。
2014-12-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信