在js中,函数执行时会优先查找函数内的局部变量。
let message = "全局变量";
function sayHello() {
let message = "局部变量";
console.log(message);
}
sayHello(); // 输出:局部变量
console.log(message); // 输出:全局变量
这里的
let message = "局部变量";
是在sayHello()函数里重新定义了一个message,在sayHello()里修改message不会作用到全局变量message。
let message = "全局变量";
function sayHello() {
message = "局部变量";
console.log(message);
}
sayHello(); // 输出:局部变量
console.log(message); // 输出:全局变量
在sayHello()里没有用var或let声明新的变量,所以在sayHello()里修改message就是修改全局变量里的message。
Top comments (0)