下段代码不能使文本框显示出当前电脑时间,报错Cannot set property 'value' of null。为什么像课程例子那样调用函数(把setInterval换成setTimeout)就没问题?(大概意思是都把js写在前面,为何一个会报错,一个不会)
<head>
<script type="text/javascript">
var time=new Date();
document.getElementById("clock").value = time;
</script>
</head>
<body>
<form>
<input type="text" id="clock" size="50" />
</form>
</body>
setInterval会先调用一次函数吧,调用函数的时候,body中input元素还没加载到,所以Cannot set property 'value' of null不能为一个不存在的元素赋值, setTimeout是停一段时间以后才会调用函数,此时input元素已经存在. 我觉得是这样的
这么厉害的代码,我还没看懂,让我好好明白一下意思先,一会回来告诉你。