ES6标准中的import和export

  在ES6前, 前端使用RequireJS或者seaJS实现模块化, requireJS是基于AMD规范的模块化库,  而像seaJS是基于CMD规范的模块化库,  两者都是为了为了推广前端模块化的工具。ES6出来之后,定义了统一的标准,避免五花八门的写法,给大家降低工作量。

ES6的模块化的基本规则或特点

  • 每一个模块只加载一次, 每一个JS只执行一次, 如果下次再去加载同目录下同文件,直接从内存中读取。 一个模块就是一个单例,或者说就是一个对象
  • 每一个模块内声明的变量都是局部变量, 不会污染全局作用域
  • 模块内部的变量或者函数可以通过export导出
  • 一个模块可以导入别的模块

特别注意:ES6标准中,导入的数据都是引用

  一个模块被多次导入,那么使用的是同一个对象,一处修改,处处生效

对比记忆

  python中的import特点:基础类型是值传递,其余是引用传递

猜你喜欢

转载自www.cnblogs.com/chusiyong/p/12052537.html