Javascript模块的限制

  • 只能运行于严格模式
  • 模块中的顶级作用域中的变量,不会被自动添加到全局作用域
  • 顶级作用域的this为undefined

导出

如果想让模块中的变量、函数、类被其他模块使用,需要将其导出,导出的方法如下:

  • export var color = “red”;
  • export function print_hello(){};
  • export { print_hello }
  • export { print_hello as printh };
  • export default function print_hello(){};
  • export default print_hello
  • export { print_hello as default}

导入

如果想使用其他模块中的变量、函数、类,需要将其导入。导入后的变量、类、函数为只读。导入的方法如下:

  • import { color, print_hello } from “./example.js”;
  • import * as example from “./example.js”;  //example.color, example.print_hello
  • import { print_hello as printh } from “./example.js”;
  • import print_hello, { color } from “./example.js”; // print_hello 为默认导出的函数
  • import { default as printh } from “./example.js”;