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 に答える