function changeColor() {
            if (document.body.bgColor == "red") {
                document.body.bgColor = "white";
            }
            else {
                document.body.bgColor = "red";
            }
        }
        function changeColor1() {
            if (document.body.bgColor == "white") {
                document.body.bgColor = "red";
            }
            else {
                document.body.bgColor = "white";
            }
        }
        <input type="button" value="改变颜色" onclick="changeColor()" />
        <input type="button" value="改变颜色1" onclick="changeColor1()" />新手奇葩问题多,请大侠帮忙解释下
为什么changeColor()里面颜色点一次变一次
changeColor1()里面颜色第一次点击没反应,第二次点击开始才能第一次变一次JavaScript

解决方案 »

  1.   

    补充一下:如果进入页面第一次点击的changeColor(),changeColor1()也能点一次变一次
    进入页面就点changeColor1(),第一次点击就没反应,要从第二次开始才有效果
      

  2.   

    嗯,因为document.body.bgColor的初始值为空
    所以点第一次时给改成 write。
      

  3.   

    嗯,那如果我要实现第一次点击的changeColor1()第一次点击也变颜色,应该如何修改呢?
      

  4.   

    不用white就好,当然有人会将浏览器默认背景改成别的色的话不成立。
    function changeColor1() {
    if (document.body.bgColor == "") {
                    document.body.bgColor = "red";
                }
                else {
                    document.body.bgColor = "";
                }
            }