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

showTime函数为何不能内置

showTime函数为何不能内置

冉冉说 2018-09-04 16:42:05
<html>  <head>  <script type="text/javascript">     function showTime(){            var c=document.getElementById("text");            var nowTime=new Date();            c.innerHTML="time is  "+nowTime.toLocaleTimeString();            }        function startTime(){                setInterval("showTime()",50);        }</script>  </head>  <body onload="startTime()">  <div id="text"></div>  </body>  </html> 这个程序运行良好,一个简单的clock,正常运行。我现在做一个简单的调整<html>  <head>  <script type="text/javascript">             function startTime(){        function showTime(){            var c=document.getElementById("text");            var nowTime=new Date();            c.innerHTML="time is  "+nowTime.toLocaleTimeString();        }                setInterval("showTime()",50);    }    </script>  </head>  <body onload="startTime()">  <div id="text"></div>  </body>  </html> 运行出现错误 ReferenceError: showTime is not defined为何会这样?showTime这个函数明明在startTime这个函数的开头部位,为何会找不到?请解释一下整个函数运行的过程。
查看完整描述

1 回答

?
HUH函数

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

setInterval的调用是在全局作用域下调用的,所以如果你第一个参数是字符串的话,字符串里的函数必须也在全局作用域下定义,他才能找到该函数。否则你需要将第一个参数改为showTime,或者function(){showTime();}


查看完整回答
反对 回复 2018-10-17
  • 1 回答
  • 0 关注
  • 852 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号