1
$(function() {
    foo1("text");
    foo2("text");
}) 

function callback(func) {
    func();
}

function foo1(bar) {
    callback(function() {
        console.log(bar);       // "text"
        bar = "derp";
        console.log(bar);       // "derp"
    })
}

function foo2(bar) {
    callback(function() {
        console.log(bar);       // undefined
        var bar = "derp";
        console.log(bar);       // "derp"
    })
}

var bar = "derp" の宣言が、事前にアクセスされるパラメーターを定義していないのはなぜですか?

4

1 に答える 1