JS-ES6语法运用
import导入模块,js的模块化开发
浏览器使用ES6模块化语法(使用module时js代码自动运行严格模式):
<script type="module" src="b.js"></script> <script nomodule src="c.js"></script> //向后兼容 当浏览器不支持es6语法运行不了b.js时 执行此代码
1、export与import (b导出a引入)
// b.js 多个导出 export var name = 'yangching'; export function add (x,y) { return x+y }; // a.js 引入 import {name} from 'b.js' //单个引入 import {add as newAdd} from 'b.js' // 单个引入并重命名 console.log(name) //yanching
console.lo(newAdd(1,2)) // 3 // b.js 一起导出 var name = 'yangching'; function add (x,y) { return x+y }; export {name,add}
// a.js 一起引入 import {name,add} from 'b.js';
console.log(name) // yangching
import * as moduleB from 'b.js';
console.log(moduleB.name) // yangching
2、export defult 和 import (b导出a引入)本质:export default输出一个叫做default的变量,然后系统允许你为它取任意名字。所以可以为import的模块起任何变量名,且不需要用大括号包含
// b.js 导出 var name = 'yangching'; export default name // a.js 引入 import bb from 'b.js' console.log(bb) import * as lname from 'b.js' console.log(lname)
总结:
1、export与export default均可用于导出常量、函数、文件、模块等
2、在一个文件或模块中,export、import可以有多个;export default仅有一个
3、通过export方式导出,在导入时要加{ };export default则不需要
4、输出单个值,使用export default;输出多个值,使用export
5、export default与普通的export不要同时使用