看代码:HTML结构我在这里就不写了,代码实现-时间显示第一种:带双引号的 <head> <div id="nowTime"></div><script type="text/javascript">var dom = document.getElementById("nowTime");var getNowTime = function(){return Date().split(" ");}var setNowTime = function(){var arr = getNowTime();dom.innerHTML = arr[4];setTimeout("setNowTime()", 500);}setNowTime();</script>第二种:不带双引号的,放在head标签中,有window.onload加载<script>window.onload = function(){var dom = document.getElementById("nowTime");var getNowTime = function(){return Date().split(" ");}var setNowTime = function(){var arr = getNowTime();dom.innerHTML = arr[4];setTimeout(setNowTime, 500);}setNowTime();}</script></head>如何把第二种方法中的换成第一种方法的setTimeout:setTimeout(setNowTime, 500); ==>> setTimeout("setNowTime()", 500);代码执行一遍就报错
2 回答
守着一只汪
TA贡献1872条经验 获得超3个赞
setTimeout("xxx",500)
双引号中的作用域不捕捉局部变量,因此会报错误
如果你需要在双引号中可以在外部定义一个变量
var now; window.onload = function (){ var dom = document.getElementById( "nowTime" ); var getNowTime = function (){ return Date().split( " " ); } var setNowTime = function (){ var arr = getNowTime(); dom.innerHTML = arr; now=setNowTime setTimeout( "now()" , 500); } setNowTime(); } |
婷婷同学_
TA贡献1844条经验 获得超8个赞
setTimeout()第一个参数传入的是code代码,那不论这个代码是函数名称比如不加引号的setNowTime 还是加引号的一串代码 比如“setNowTime()”; 都是可以运行的呀。
添加回答
举报
0/150
提交
取消