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

JavaScript全局变量赋值后又变为初始值

JavaScript全局变量赋值后又变为初始值

炎炎设计 2019-03-07 14:15:01
初学JavaScript,下面这段代码,第一次点击按钮的时候,timer1的值是传入的2000,然后用计时器t调用,timer1的值就变为初始值1000了,为什么传入的2000会被初始值1000覆盖呢?<html><head>    <script type="text/javascript">         var timer1=1000;        function startTime(timer1) {            var today = new Date()            var h = today.getHours()            var m = today.getMinutes()            var s = today.getSeconds()            document.getElementById('txt').innerHTML = h + ":" + m + ":" + s            t = setTimeout('startTime(timer1)', timer1);            console.log('timer1的值为 '+timer1)        }    </script></head><!--body onload="startTime()"--><div id="txt">此处显示时间</div><button onclick='clearTimeout(t)'> 点我停止 </button><button onclick="startTime(2000)">点我开始</button></body></html>
查看完整描述

1 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞


你这样写法 第一次调用实参2000 传入 作用域里面timer1为2000

但是 第二次函数内部调用startTime(timer1)  此时传入的timer1值为全局变量1000


查看完整回答
反对 回复 2019-03-16
  • 1 回答
  • 0 关注
  • 787 浏览
慕课专栏
更多

添加回答

举报

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