0

如果我在外部函数中有一个变量,并且有一个更改该变量的内部函数,为什么该变量会恢复为其原始值?

// Check which type of event registration browser supports
function addEvent(eventTarget, eventType, eventHandler){
    if (window.addEventListener){
        eventTarget.addEventListener(eventType, eventHandler);
    }
    else if (window.attachEvent){
        var eventType = "on" + eventType;
        eventTarget.attachEvent(eventType, eventHandler);
    }
}

// Check if browser supports DOMContentLoaded
var DOMContentLoadedSupported = "no";

addEvent(document, "DOMContentLoaded", function(){
    DOMContentLoadedSupported = "yes";
})

alert(DOMContentLoadedSupported) // alerts "no" not "yes". Why??            
​
4

1 回答 1

2

该函数将修改变量,但这将在您的警报之后发生,因此您在警报中看到“否”,因为警报发生在变量被修改之前。

于 2012-05-29T18:30:43.120 回答