js中函数的导入导出

news/2025/11/15 11:00:48/文章来源:https://www.cnblogs.com/wanjinliu/p/19224587

js中的函数导入导出,是近几年才有官方标准的,即ES6标准。

以前的民间规范CommonJS,这里不做讨论。推荐使用官方标准。


背景
设想有这么个页面结构:

image

 一个页面h1.html要使用五项业务功能,分别写在26.js,27.js……30.js中;

而每个业务功能,又分别使用五个js文件的基础功能,分别在1-25这二十五个js文件里。

那么最终的网页文件,头部难道要包含30个js文件吗?即便如此做,还会有效率和加载时机等问题给我们添乱。


解决技术

 

js的导入/导出语法,配合文件规划,可以解决这个问题。

导出:把文件中的某些函数(也可以是全局变量),声明为可以被外界访问。关键字:export

导入:从外部文件中,引入需要的功能(变量)来使用。关键字:import

页面中的导入:在script标签中,除了文件名,添加 type="module" 属性,来识别和使用导入的js文件。


示例

在页面h1.html中,设置三个文本框和一个命令按钮。前两个文本框填入数字,点击按钮,在第三个文本框出现它们的和。

分析规划:1、把求和函数add作为功能函数,写在j1.js中。2、写一个衔接文件h1.js(此处设计为与页面同名,方便维护),调用j1等等功能文件的内容。3、网页引入h1.js。

参考代码如下

j1.js:

1 export function add(a, b) {
2   return a + b;
3 }

第一行表示该函数可以被外部调用。

h1.js:

 1 import {add} from "./j1.js";
 2 //import * as myall from "./j1.js";
 3 function b1_click() {
 4     let a, b;
 5     a = Number(document.querySelector("#i1").value);
 6     b = Number(document.querySelector("#i2").value);
 7     document.querySelector("#i3").value =add(a, b);
 8     //document.querySelector("#i3").value =myall.add(a, b);
 9 }
10 document.querySelector("#b1").addEventListener("click", b1_click);

第一行引入j1.js中的add函数,第七行使用了它。

如果需要使用功能js文件中多个函数,可以在第一行的花括号中一一列出(逗号分隔);也可以用第二行的方式给它们起个名字,用第八行的方式调用。

第三行的函数b1_click是给页面里面的命令按钮(id='b1')用的,这么命名好维护;第十行将两者关联。

h1.html:

 1 <html>
 2     <head>
 3         <title>
 4             页面
 5         </title>
 6         <script type="module" src="js/h1.js"></script>
 7     </head>
 8     <body>
 9         <input type="text" id="i1">
10         <input type="text" id="i2">
11         <input type="text" id="i3">
12         <input type="button" id="b1" value="计算">
13     </body>
14 </html>

需要特别注意,第六行加入的type属性。没有这个,浏览器不认识js中的导入导出命令。


 采用这种方式,可以更好地跨文件组织js代码。而且,浏览器会对所有js文件的加载进行优化(异步加载、懒加载等),提升用户体验,避免常见的小问题。

大家可以想想,如何用导入导出,规划前面提到的30个js文件的页面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/966096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 最新杭州翻译品牌推荐:涵盖多场景专业翻译服务的优质品牌榜单,杭州法律翻译/杭州移民翻译/杭州签证翻译/杭州专业翻译专业公司推荐

在全球化商务合作持续深化的背景下,商事文件与各类证件翻译的精准性、规范性直接影响跨境事务推进效率。然而当前市场存在资质参差不齐、术语翻译偏差、格式不达标等问题,亟需权威指引。本次榜单由国际译联(FIT)与…

一对一视频app开发,基于Redis+Lua实现分布式限流 - 云豹科技

一对一视频app开发,基于Redis+Lua实现分布式限流一、新建一个Mavne项目,取名为rate_limiter,并引入Lombok和guava的依赖。<dependency><groupId>org.projectlombok</groupId><artifactId>l…

Nginx配置proxy转发其他域名502 - Commissar

Nginx配置:location ~* ^/(.*-bucket)/(.*)$ {proxy_ssl_session_reuse off;proxy_set_header Host a.test.com;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_…

2025年高温抗氧化试验炉制造企业权威推荐榜单:回转抗渣炉/中温试验炉/全自动重烧试验炉设备源头厂家精选

高温抗氧化试验炉作为材料科学研究与质量控制的关键设备,其市场需求正随着新材料研发和材料性能要求的提升而持续增长。本文将基于详实的行业信息,为您推荐2025年度在高温抗氧化试验炉领域表现卓越的Top 3制造厂,通…

2025年履带抛丸机订制厂家权威推荐榜单:悬挂式抛丸机/钢板抛丸机/吊钩抛丸机源头厂家精选

随着表面处理行业对自动化与环保要求的不断提升,履带抛丸机市场正迎来新一轮技术升级。据行业统计数据显示,2024年中国抛丸清理设备市场规模已达68.5亿元,预计到2026年将增长至82.3亿元,年复合增长率约为9.7%。 履…

获取cookie的方法不止一种

获取cookie的方法不止一种 cookie的可以通过浏览器调试来获取,当然也可以通过抓包工具获取,那么能不能用代码来获取呢?答案是肯定的 参照上面那篇博文,我们完成以下代码,第一次通过driver1发送用户名和密码登录,…

一对一聊天聊天平台制作,如何获取当前时间? - 云豹科技

一对一聊天聊天平台制作,如何获取当前时间?Js获取当前日期时间及其它操作var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-???…

2025 最新推荐!绝缘监测系统厂家权威榜单:变频设备 / 高压电机专用监测方案深度解析

引言 在电力、石油、化工、能源管网等关键行业,电气设备绝缘性能直接决定生产安全与运行效率。随着大型变频机组、高压电机的广泛应用,绝缘老化引发的故障风险显著上升,据国际电气测试协会(NETA)最新测评数据显示…

2025年制氮机生产厂家权威推荐榜单:PSA制氮机/制氮机组/PSA变压吸附制氮机源头厂家精选

在工业自动化与环保要求双轮驱动下,全球制氮机市场正迎来精细化、高效能时代。据QYResearch(恒州博智)调研统计,2031年全球PSA氮气发生器市场销售额预计将达到 亿元。中国市场在过去几年变化较快,2024年市场规模为…

2025 最新运动木地板厂家推荐排行榜:体育馆/篮球场/舞蹈室专用/实木/枫木/柞木/防滑/减震运动木地板优质厂家推荐

引言 随着体育场馆、校园运动场地、商业球馆等基础设施建设的持续升温,运动木地板作为保障运动安全与体验的核心设施,市场需求激增。但当前行业乱象丛生,部分产品存在防滑不达标、弹性不足、易变形、甲醛超标等问题…

2025年11月牛初乳品牌口碑榜:五强实测评价与排行指南

2025年11月,当消费者站在母婴店或电商搜索栏前输入“牛初乳”三个字时,背后往往藏着三重焦虑:一是换季时节孩子反复感冒,希望找到安全且有效的免疫支持;二是家里老人术后恢复慢,担心普通奶粉营养密度不足;三是孕…

2025年11月牛初乳品牌推荐榜:免疫营养指标与认证资质全对比

进入11月,气温骤降、昼夜温差大,儿童、孕产妇、中老年人及术后人群对“快速补充免疫营养”的需求集中爆发。电商后台搜索指数显示,“牛初乳”关键词近30天环比上升42%,其中“IgG含量”“草饲认证”“是否含激素”成…

完整教程:Python - PEP 738 – 将 Android 添加为支持平台

完整教程:Python - PEP 738 – 将 Android 添加为支持平台2025-11-15 10:42 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !importan…

2025年11月AI智能客服机器人品牌推荐:性能评价榜全维度盘点

把客服中心搬到云上、把人工坐席换成AI,是2025年政企用户最迫切的数字化动作之一。政策层面,《“十四五”数字经济发展规划》要求2025年政务服务热线智能化率不低于85%,企业侧则面临人力成本年均上涨8%的压力,双重…

完整教程:Vue3与Cesium:轻量版3D地理可视化实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年11月网络文化经营许可证代办公司权威榜:五强对比评测

想把直播、动漫、音乐等线上业务做大,却卡在“网络文化经营许可证”这一纸批文?多数创业者面对流程长、材料多、政策更新快三大痛点,常因一次补正就拖慢整盘融资或上线计划。2024年文化和旅游部全国市场管理数据显示…

膜结构生产厂家、膜结构车棚哪家好、膜结构看台源头厂家、膜结构污水池厂家排行榜、景观膜结构厂家推荐、膜结构雨棚厂家、反吊膜源头厂家、美雅达膜结构

膜结构生产厂家、膜结构车棚哪家好、膜结构看台源头厂家、膜结构污水池厂家排行榜、景观膜结构厂家推荐、膜结构雨棚厂家、反吊膜源头厂家、美雅达膜结构膜结构生产厂家、膜结构车棚哪家好、膜结构看台源头厂家、膜结构…

如何禁用XFCE的屏幕锁

设置——会话和启动——应用程序自启动 取消对 屏幕锁 的选中。

2025年11月上海遗产继承律师评测榜:五强名单与选择策略

在上海,一套老洋房可能牵扯三代人、四套境外股权、五份不同年份的遗嘱,继承手续稍有疏漏,资产就可能被冻结数年。高净值家庭、涉外子女、再婚家庭三类人群最常遇到“资产类型多、继承关系杂、诉讼周期长”的痛点:境…

05_杂记 学习方法很重要!

05_杂记 学习方法很重要!学习方法很重要! 比学到的知识更重要 可以在IDEA中建一个note.md文件,随时做笔记! IDEA中支持md文件。