JavaScript 中局部变量只可能通过两种方式声明,一个是作为函数参数,另一个是通过 var 关键字声明。
使用var声明的变量会自动被添加到最接近的环境中。在函数内部,最接近的环境就是函数的局部环境
var foo = 1;
var bar = 2;
var i = 2;
function test(i) {
// 函数 test 内的局部作用域
i = 5;
var foo = 3;
bar = 4;
}
test(10);
foo //1
bar //4
i //2
foo 和 i(函数参数) 是函数 test 内的局部变量,而对 bar 的赋值将会覆盖全局作用域内的同名变量
var foo = 1;
var bar = 2;
var i = 2;
function test() {
// 函数 test 内的局部作用域
i = 5;
var foo = 3;
bar = 4;
}
test();
foo //1
bar //4
i //5