Javascript在两个不同的版本中表现不同

时间:2011-09-20 15:47:48

标签: javascript jquery

让我先显示代码,然后尝试解释问题。

function toggleButton(filter, button) {
    var buttonOn = false;

    if ( button.value === "ON" ) {
    buttonOn = true;
    }


    if ( buttonOn ) {
        button.value = "OFF";
        button.className = "btn_tgl btn_tgl_off";
    } 
    else {
        button.value = "ON";
        button.className = "btn_tgl btn_tgl_on";
    }

    checkItem();
}

function checkItem(alreadyGotStuff) {
    if(!alreadyGotStuff){
        do this
    }
    else{
        do that
    }
}

所以问题是这个。在使用此脚本的程序的主干和生产版本中,当toggleButton运行并且checkItem();被调用时,alreadyGotStuffundefined。这是正确的,因为我需要它是未定义的,因此第一个if语句将成功,它将do this。脚本中还有其他函数可以调用checkItem(true);,因此函数将do that。在我的开发分支中,当调用为checkItem();时,该值始终为true。我使用的浏览器并不重要,脚本完全相同。为什么在一个版本中传递undefined,在另一个版本中保留true

由于

0 个答案:

没有答案