二十四、模块化( export和import )
一、需要在html代码中引用两个js文件,并且类型需要设置为module
1 2 | <script src= "info.js" type= "module" ></script> <script src= "main.js" type= "module" ></script> |
二、export指令用于导出模块中的内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | let name = "小明" ; var age = 18; var flag = true ; function sum(num1, num2){ return num1 + num2; } if (flag){ console.log(sum(20, 30)); } //1. 导出方式一 export { flag, sum } //2. 导出方式二 export var num1 = 1000; export var height = 188; //3. 导出函数 export function mul(num1, num2){ return num1+ num1; } //4. 导出ES6中的类 export class Person{ run(){- console.log( "奔跑" ); } } //5. export default(注意:在同一个模块中,default只能存在一个) // 1. // const address = "北京市"; // export { // address // } // 2. //export const address = "北京市"; // 3. // const address = "北京市"; // export default address; export default function(atgument){ console.log(atgument); } |
三、import指令用于导入模块中的内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | //1. 导入的{}中定义的变量 import { flag,sum } from "./aaa.js" ; if (flag){ console.log( "哈哈哈" ); console.log(sum(50,20)); } //2. 直接导入export定义的变量 import { num1,height } from "./aaa.js" ; console.log(num1); console.log(height); //3. 导入export的function、class import { mul,Person } from "./aaa.js" ; mul(30, 50); const p= new Person(); p.run(); //4. 导入default(addre名字可以随便写) import addre from "./aaa.js" addre( "你好啊" ); //5. 统一全部导入 import * as obj from './aaa.js' console.log(obj.flag, obj.height, obj.num1, obj.sum); |
如果希望某个模块中的所有信息都导入
- 通过*可以导入模块中的所有export变量
- 但是通常情况下我们需要给*起一个别名,方面后续使用
1 2 3 | //5. 统一全部导入 import * as obj from './aaa.js' console.log(obj.flag, obj.height, obj.num1, obj.sum); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现