模块化,作用域的简介
什么是模块化
遵守固定规则,把大文件拆成独立又相互依赖的小模块 好处: 1.提高代码复用性 2.提高代码维护性 3.按需加载
不使用模块化会造成什么
不使用模块化,多人协作开发,会造成变量污染
模块的加载
module.export导出 require导入
ES6模块
完全取代CommonJs和AMD,成为浏览器和服务器的通用摸板
什么是作用域
作用域(scope) 规定了变量能够被访问的 范围,离开这个范围变量不能被访问 一旦进入作用域,就启动js解析器
作用域链
函数内部创建新的函数 ,就产生了新的函数作用域,作用域就产生了嵌套关系 作用域链的本质 是底层的变量查找机制,函数被执行时 会优先查找当前函数作用域中的变量,如果找不到则会逐级查找父级作用域直到全局作用域 ,全局找不到 变量返回undefined 函数调用报错 子作用域能够访问父作用域 父作用域无法访问子作用域