frontend-notes

作用域

全局作用域

全局作用域为程序的最外层作用域,一直存在

函数作用域

函数作用域只有函数被定义时才会创建,包含在父级函数作用域 / 全局作用域内。

块级作用域

花括号内 {…} 的区域就是块级作用域区域。使用 let 和 const 可以创建块级作用域

其他知识点

作用域链

当可执行代码内部访问变量时,会先查找本地作用域,如果找到目标变量即返回,否则会去父级作用域继续查找…一直找到全局作用域。我们把这种作用域的嵌套机制,称为 作用域链。

let、const和var的区别

let vs const

在 ES6 中,使用 let 命令定义变量,使用 const 命令定义常量。

let vs var

立即执行函数表达式(Immediately Invoked Function Expression 简写 IIFE)

一般使用该方法来解决模块名污染全局作用域的问题

// module1.js
(function () {
  var a = 1;
  console.log(a);
})();

圆括号

参考