填坑-十万个为何?(22)

简介:不少概念不清或忘记,从新构建本身的知识体系。天天问本身1~多个问题。我是菜鸟 成为大神之路!express

1.认识exportLink export

export语句用于在建立JavaScript模块时,从模块中导出函数对象原始值,以便其余程序能够经过 import 语句使用它们。promise

export { name1, name2, …, nameN };
export { variable1 as name1, variable2 as name2, …, nameN };
export let name1, name2, …, nameN; // also var
export let name1 = …, name2 = …, …, nameN; // also var, const
export function FunctionName() {...}
export class ClassName {...}

export default expression;
export default function () { … } // also class, function*
export default function name1() { … } // also class, function*
export { name1 as default, … };

export * from …;
export { name1, name2, …, nameN } from …;
export { import1 as name1, import2 as name2, …, nameN } from …;
复制代码

2.认识import Link import

import语句用于导入由另外一个模块导出的绑定。不管是否声明了 strict mode ,导入的模块都运行在严格模式下。在浏览器中, import语句只能在声明了type="module"script的标签中使用。浏览器

import defaultExport from "module-name";
import * as name from "module-name";
import { export } from "module-name";
import { export as alias } from "module-name";
import { export1 , export2 } from "module-name";
import { foo , bar } from "module-name/path/to/specific/un-exported/file";
import { export1 , export2 as alias2 , [...] } from "module-name";
import defaultExport, { export [ , [...] ] } from "module-name";
import defaultExport, * as name from "module-name";
import "module-name";
var promise = import("module-name");
复制代码

多个导入导出函数

// module "my-module.js"
function cube(x) {
  return x * x * x;
}
const foo = Math.PI + Math.SQRT2;
export { cube,foo };
复制代码

这样的话,在其它脚本 (好比import),咱们能够这样使用:ui

import { cube, foo } from 'my-module.js';
console.log(cube(3)); // 27
console.log(foo);    // 4.555806215962888
复制代码

3.认识exportexport default

一、exportexport default都可用于导出常量、函数、文件、模块等
二、你能够在其它文件或模块中经过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便可以对其进行使用
三、在一个文件或模块中,export、import能够有多个,export default仅有一个
四、经过export方式导出,在导入时要加{ }export default则不须要
spa

这样来讲其实不少时候exportexport default能够实现一样的目的,只是用法有些区别。注意第四条,经过export方式导出,在导入时要加{ }export default则不须要。使用export default命令,为模块指定默认输出,这样就不须要知道所要加载模块的变量名code

相关文章
相关标签/搜索