關于 var odiv = document.getElementById('div1');
?window.onload=function(){
?var odiv=document.getElementById("div1");
?odiv.onmouseover = function(){
?startMove();
?}
?}
function startMove(){
var odiv=document.getElementById("div1");
setInterval(function(){
odiv.style.left = odiv.offsetLeft + 10 + 'px';
},30)
}?
這段里面?var odiv = document.getElementById('div1');有兩次,想知道后面這次的意義是什么,讀取不到前面寫的么?
2016-06-01
這兩次定義的odiv的作用域都是在各自的函數體內。也就是startMove()是獲取不到onload的匿名函數中定義的odiv.
如果你想只定義一次,那就將odiv定義成全局變量,這個頁面的任何函數都可以直接獲取的到。
2016-06-01
樓上正解
2016-06-01
兩個都是局部變量,要分別在兩個函數內聲明