JavaScript 中的函数作用域是如何工作的?
问问题
69 次
1 回答
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/
于 2012-06-15T09:53:30.377 回答