问几代码的区别
//代码一:  问题:无法定时执行
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 );

解决方案 »

  1.   

    两个逻辑错误:
    1)new date在被实例化的时候就已经确定时间了。。所以无论用这个date获取多少次toLocaleTimeString,都是得到一样的东西
    2)测试某个方法有没有被调用,一般都是用随机数来作对比的
    一个常识错误:
    document.write在页面加载状态下调用,是在被调用位置添加html代码;其余情况都是清空页面原始内容再添加html代码
      

  2.   

    代码一的问题在document.getElementById('txt').value这里,因为dom本身未加载完毕,就执行定时任务,所以会报错,改值为null。
      

  3.   

    自己用alert 测试,就知道你自己的问题了。或者,自己调试
      

  4.   

    问题二:var定义在函数内部,属于局部变量,定义在外部属于全局变量。定义在函数内部,每当函数被执行,都会初始化,区别参见二楼