DEV Community

NikiMunger
NikiMunger

Posted on

局部变量

在js中,函数执行时会优先查找函数内的局部变量。

let message = "全局变量";

function sayHello() {
  let message = "局部变量";
  console.log(message);
}

sayHello(); // 输出:局部变量
console.log(message); // 输出:全局变量
Enter fullscreen mode Exit fullscreen mode

这里的

let message = "局部变量";
Enter fullscreen mode Exit fullscreen mode

是在sayHello()函数里重新定义了一个message,在sayHello()里修改message不会作用到全局变量message。


let message = "全局变量";

function sayHello() {
  message = "局部变量";
  console.log(message);
}

sayHello(); // 输出:局部变量
console.log(message); // 输出:全局变量
Enter fullscreen mode Exit fullscreen mode

在sayHello()里没有用var或let声明新的变量,所以在sayHello()里修改message就是修改全局变量里的message。

Top comments (0)