首页 新闻 会员 周边 捐助

js中setTimeout

0
[已解决问题] 解决于 2017-04-18 11:56

<script type="text/javascript">
    setTimeout(alert(2),5000);
    alert(1);
</script>

没加双引号之后马上弹出2然后在弹出1(函数没作用)

而加了双引号

 setTimeout("alert(2)",5000);

先弹出1过了5秒之后在弹出2 (函数有作用了)

这是为啥?

下一次巅峰的主页 下一次巅峰 | 初学一级 | 园豆:5
提问于:2017-04-18 11:44
< >
分享
最佳答案
0

语法错误

两种调用函数的写法:
functionpage_list(){
  alert("shihuan");
}
window.setTimeout(page_list,5000);  //表示延时5秒执行page_list()函数
window.setTimeout("page_list()",30000);  //表示延时30秒执行page_list()函数
奖励园豆:5
Will_D_Zhang | 菜鸟二级 |园豆:213 | 2017-04-18 11:49

@下一次巅峰: 你的alert(2)不能算是一个变量噢,你加一句test = alert(2),改成setTimeout(text,5000)试试;

Will_D_Zhang | 园豆:213 (菜鸟二级) | 2017-04-18 11:53

@Will_D_Zhang: 恩 厉害 !搞定了

下一次巅峰 | 园豆:5 (初学一级) | 2017-04-18 11:54
其他回答(1)
0

这里应该是个函数,严格模式两个都不行,应该js解释器解释成了eval(“alert(2)”)吧

codingHeart | 园豆:1511 (小虾三级) | 2017-04-18 11:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册