函数作用域如何在JavaScript中运行?

时间:2012-06-15 09:49:30

标签: javascript

JavaScript中的函数范围如何工作?

1 个答案:

答案 0 :(得分:4)

// Create a new function = new scope
(function() {
    var a = 1; // create a new variable in this scope

    if (true) { // create a new block
        var a = 2; // create "new" variable with same name,
                   // thinking it is "local" to this block
                   // (which it isn't, because it's not a block scope)
    }

    alert(a); // yields 2 (with a block scope, a would still be 1)
})();

alert(typeof a); // yields "undefined", because a is local to the function scope above

试一试:http://jsfiddle.net/9yr9U/