setInterval 问题

zhulinjia 2013-07-05 11:56:28
问几代码的区别


//代码一: 问题:无法定时执行
var date = new Date();
function timeString()
{
document.getElementById('txt').value = date.toLocaleTimeString();
}
setInterval( "timeString()" , 1000 );
<input type="text" id="txt" />

//代码二: 问题: 与代码一区别
function timeString()
{
var date = new Date();
document.getElementById('txt').value = date.toLocaleTimeString();
}
setInterval( "timeString()" , 1000 );
<input type="text" id="txt" />

//代码三: 问题: 无法定时执行
var date = new Date();
function timeString()
{
document.write( date.toLocaleTimeString() );
}
setInterval( "timeString()" , 1000 );
...全文
176 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
slpi1 2013-07-09
  • 打赏
  • 举报
回复
问题二:var定义在函数内部,属于局部变量,定义在外部属于全局变量。定义在函数内部,每当函数被执行,都会初始化,区别参见二楼
hch126163 2013-07-06
  • 打赏
  • 举报
回复
自己用alert 测试,就知道你自己的问题了。 或者,自己调试
ZHOU西口 2013-07-05
  • 打赏
  • 举报
回复
代码一的问题在document.getElementById('txt').value这里,因为dom本身未加载完毕,就执行定时任务,所以会报错,改值为null。
雾海树妖 2013-07-05
  • 打赏
  • 举报
回复
两个逻辑错误: 1)new date在被实例化的时候就已经确定时间了。。所以无论用这个date获取多少次toLocaleTimeString,都是得到一样的东西 2)测试某个方法有没有被调用,一般都是用随机数来作对比的 一个常识错误: document.write在页面加载状态下调用,是在被调用位置添加html代码;其余情况都是清空页面原始内容再添加html代码

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧