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

为什么start()函数里写成 “var i=setInterval(clock,1000);” 就不行了?

为什么start()函数里写成 “var i=setInterval(clock,1000);” 就不行了?

Candy3610866 2016-08-08 15:05:24
<!DOCTYPE html><html><head>    <meta charset="UTF-8">    <title>Document</title><script type="text/javascript">var i=setInterval(clock,1000);function clock() {var mytime =new Date();var year   =mytime.getFullYear();var month  =mytime.getMonth();var date   =mytime.getDate();var week   =mytime.getDay();var weeks  =["日","一","二","三","四","五","六"];var day    =weeks[week];var hour   =mytime.getHours();var minute =mytime.getMinutes();var second =mytime.getSeconds();time_now   =year+"年"+(month+1)+"月"+date+"日"+"星期"+day+hour+":"+minute+":"+second;document.getElementById('txt').value=time_now;}function start() {i=setInterval(clock,1000);   /*我的问题:为什么如果这行写成“var i=setInterval(clock,1000)",第二次单击stop时stop按钮就失效了呢?为嘛非得去掉这个"var"?*/}</script></head><body><input type="text" id="txt" style="width:200px"><input type="button" onclick="start()" value="start"><input type="button" onclick="clearInterval(i)" value="stop"></body></html>
查看完整描述

4 回答

已采纳
?
Cassie_yu

TA贡献22条经验 获得超15个赞

在函数内部用var声明的变量只在函数内部调用有效,即是一个局部变量。所以在函数的外部是访问不到的......

查看完整回答
反对 回复 2016-08-08
?
至善笃行

TA贡献6条经验 获得超1个赞

局部与全局问题吧,变量写到外面就可以了,看你问题都懒得看代码了,哈哈

查看完整回答
反对 回复 2016-08-09
?
nicole820

TA贡献4条经验 获得超1个赞

(null)\(^o^)/对的

查看完整回答
反对 回复 2016-08-08
?
hulukid

TA贡献190条经验 获得超40个赞


局部变量在外部不能访问

查看完整回答
反对 回复 2016-08-08
  • 4 回答
  • 0 关注
  • 1470 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信