一个函数内,同一个变量被声明了2次,用于不同的元素,会冲突吗?
html代码:<div id="dome1">dome1</div>
 <div id="dome2">dome2</div>
js代码:
function func(){
var elem = document.getElementById("dome1");
elem.style.color = "red";
var elem = document.getElementById("dome2");
elem.style.color = "blue";
alert(elem.innerHTML);
}
window.onload = func;
想知道上面的elem为什么没有被下面的elem重置?JavaScript函数变量

解决方案 »

  1.   

    不会,脚本不像编译性的语言那样,
    var elem = document.getElementById("dome2"); 其实就等于elem = document.getElementById("dome2");
      

  2.   

    如果换下位置就会被重置了。function func(){
    var elem = document.getElementById("dome1");

    var elem = document.getElementById("dome2");
    elem.style.color = "red";
    elem.style.color = "blue";
    alert(elem.innerHTML);
    }
    window.onload = func;
    我在<dom编程艺术>这本书上看到的例子,是不是不应该这样写呢?
      

  3.   

            
            var elem = document.getElementById("dome1");//    得到dome1元素     
            var elem = document.getElementById("dome2");//得到dome2元素
            elem.style.color = "red";//dome2元素字体颜色为red
            elem.style.color = "blue";//dome2元素字体颜色为blue
            alert(elem.innerHTML);//显示dome2内的html
      

  4.   

    必须是顺序执行的,其实是在你把dom1的color设置成红色执行,才把dom2赋值给elem的!