当前位置: 首页 > news >正文

ES6模块化

目录

一、什么是 ES6 模块化规范

二、ES6 模块化的基本语法

2.1默认导出 

2.1默认导入

2.1 注意事项

2.2按需导出 

2.2按需导入

2.2按需导出与按需导入的注意事项

2.3直接导入并执行模块中的代码 


一、什么是 ES6 模块化规范

ES6 模块化规范是浏览器端与服务器端通用的模块化开发规范。它的出现极大的降低了前端开发者的模块化学习成本,开发者不需再额外学习 AMD、CMD 或 CommonJS 等模块化规范。

ES6 模块化规范中定义:

  • 每个 js 文件都是一个独立的模块
  • 导入其它模块成员使用 import 关键字
  • 向外共享模块成员使用 export 关键字

二、ES6 模块化的基本语法

  1. 默认导出与默认导入
  2. 按需导出与按需导入
  3. 直接导入并执行模块中的代码 

2.1默认导出 

 默认导出的语法: export default 默认导出的成员

// es6_export.js 文件
// 定义模块私有成员 num1
let num1 = 10 // 定义模块私有成员 mum2 
let num2 = 20  // 定义模块私有方法 show()
function show(){} // 使用 export default 默认导出语法,向外共享 num1 和 show 两个成员。
export default {num1,show
}

2.1默认导入

 默认导入的语法: import 接收名称 from '模块标识符'

// es6_import.js 文件
// 从 es6_export.js 模块中导入 export default 向外共享的成员。
// 并使用 result 成员进行接收
import result from './es6_export.js'// 打印输入的结果
console.log(result)
//{ num1: 10, show: [Function: show] }

2.1 注意事项

每个模块中,只允许使用唯一的一次 export default,否则会报错!

默认导入时的接收名称可以任意名称,只要是合法的成员名称即可。

2.2按需导出 

按需导出的语法: export 按需导出的成员 

// 定义模块私有成员 num1,并向外按需导出变量
export let num1 = 10 // 定义模块私有成员 mum2,并向外按需导出变量 
export let num2 = 20  // 定义模块私有方法 show(),并向外按需导出方法
export function show(){} 

2.2按需导入

按需导入的语法: import { s1 } from '模块标识符'

// 导入模块成员
import {num1,num2,show} from './es6_export.js'// 打印输入的结果
console.log(num1)
console.log(num2)
console.log(show)
// 10
// 20
// [Function: show]

2.2按需导出与按需导入的注意事项

  1. 每个模块中可以使用多次按需导出
  2. 按需导入的成员名称必须和按需导出的名称保持一致
  3. 按需导入时,可以使用 as 关键字进行重命名
  4. 按需导入可以和默认导入一起使用

2.3直接导入并执行模块中的代码 

如果只想单纯地执行某个模块中的代码,并不需要得到模块中向外共享的成员。此时,可以直接导入并执行模 块代码,示例代码如下:

// es6_export.js
// 在当前模块中执行一个 for 循环
for(let i = 0; i < 3; i++){console.log(i)
}// es6_import.js
// 直接导入并执行模块代码,不需要得到模块向外共享的成员
import './es6_export.js'//输出结果:
// 0
// 1
// 2

相关文章:

ES6模块化

目录 一、什么是 ES6 模块化规范 二、ES6 模块化的基本语法 2.1默认导出 2.1默认导入 2.1 注意事项 2.2按需导出 2.2按需导入 2.2按需导出与按需导入的注意事项 2.3直接导入并执行模块中的代码 一、什么是 ES6 模块化规范 ES6 模块化规范是浏览器端与服务器端通用的…...

201809-3 CCF 元素选择器 满分题解(超详细注释代码) + 解题思路(超详细)

问题描述 解题思路 根据题意可以知道在查询中可以分为两种情况 第一种是查询一个标签选择器或者id选择器&#xff08;可以称为一级查询&#xff09; 第二种就是存在大于两级的查询&#xff08;可以称为多级查询&#xff09; 显然第一种查询需要存储每一种元素在内容中所有出现…...

证书拓展域(1)

证书拓展定义了数字证书的标准拓展&#xff0c;每个拓展域GB/T 16264.8-200X中定义的一个OID相关。 这些OID都是id-ce的成员&#xff0c;其定义如下&#xff1a; id-ce OBJECT IDENTIFIER :: { joint-iso-ccitt(2) ds(5) 29 }1.证书策略 certificatePolicies 1.1 定义 本…...

浅谈ChatGPT 和 对AI 的思考

新世纪以来&#xff0c;人工智能作为一个非常热门话题&#xff0c;一直收到大众的广泛的关注。从一开始的图像的分类&#xff0c;检测&#xff0c;到人脸的识别&#xff0c;到视频分析分类&#xff0c;到事件的监测&#xff0c;到基于图片的文本生成&#xff0c;到AI自动写小说…...

NCRE计算机等级考试Python真题(十二)

第十二套试题1、以下关于程序设计语言的描述&#xff0c;错误的选项是&#xff1a;A.Python语言是一种脚本编程语言B.汇编语言是直接操作计算机硬件的编程语言C.程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段D.编译和解释的区别是一次性翻译程序还是每次执行时都要翻…...

Java并发类库提供的线程池有哪几种? 分别有什么特点?

第21讲 | Java并发类库提供的线程池有哪几种&#xff1f; 分别有什么特点&#xff1f; 我在专栏第 17 讲中介绍过线程是不能够重复启动的&#xff0c;创建或销毁线程存在一定的开销&#xff0c;所以利用线程池技术来提高系统资源利用效率&#xff0c;并简化线程管理&#xff0c…...

企业微信如何群发消息到客户群?

为提升工作效率&#xff0c;工作中&#xff0c;企业常常会借助企业微信的群发功能一键发送多个客户。那么企业微信如何群发消息呢&#xff1f; 其中成员个人支持群发消息到客户群&#xff0c;企业也可以创建内容提醒成员进行执行群发。 管理员支持在管理端或在手机端创建企业…...

【信号与系统笔记】第一章 绪论

1.1信号传输系统 信息传输的任务 将带有信息的信号&#xff0c;通过某种系统由发送者传送给接收者。 通信系统的组成 转换器&#xff1a;把消息转换为电信号或者把电信号还原成消息信道&#xff1a;信号传输的通道&#xff0c;广义上来说。发射机和接收机也可以是信道的一部分…...

[神经网络]DETR目标检测网络

一、概述 相较于传统目标检测&#xff0c;DETR是一种纯端到端的网络。它不再需要NMS(非极大值抑制&#xff0c;用于去除多余的预测框)和生成anchor。 DETR提出了一个新的目标函数&#xff08;二分图匹配&#xff09;&#xff0c;这个函数可以强制网络输出一个独一无二的预测值&…...

【服务器管理】connection refused问题解决

简述 在配置服务器的时候&#xff0c;遇到了这个问题。我当时明明已经搭建好了服务&#xff0c;但是我在客户端比如手机上&#xff0c;却怎么都连不上服务器。看日志的话显示的是connection refuesed timeout 这种情况&#xff0c;大概率是服务器的端口没有被打开。 我们只需…...

2023_华为OD机试真题_Python_047_整理扑克牌

整理扑克牌 题目描述 给定一组数字,表示扑克牌的牌面数字,忽略扑克牌的花色,请按如下规则对这一组扑克牌进行整理: 步骤1. 对扑克牌进行分组,形成组合牌,规则如下: 当牌面数字相同张数大于等于4时,组合牌为“炸弹”;3张相同牌面数字 + 2张相同牌面数字,且3张牌与2…...

吐血整理,自动化测试pytest测试框架,资深测试带你少走弯路......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 Pytest框架详解 py…...

SAP BASE64加密及解密

简介&#xff1a;BASE64是一种编码方法&#xff0c;它是一种基于用64个可打印字符来表示二进制数据的表示方法&#xff0c;主要应用于数据存储&#xff0c;传输&#xff0c;打印它是用64个可打印字符表示二进制所有数据方法。由于2的6次方等于64&#xff0c;所以可以用每6个位元…...

【页面无响应】Web页面经常无响应前端如何定位与优化(已解決)

【写在前面】客户现场应用我们的系统时候&#xff0c;发现用着用着就出现1个页面无响应现象&#xff0c;给客户带来极其不好的体验&#xff0c;尤其是当重要工作汇报演示时&#xff0c;就给我看无响应&#xff0c;浏览器崩溃&#xff1f;这样对产品的发展无疑是致命的伤&#x…...

隐私计算 FATE - 多分类神经网络算法测试

​ 一、说明 本文分享基于 Fate 使用 横向联邦 神经网络算法 对 多分类 的数据进行 模型训练&#xff0c;并使用该模型对数据进行 多分类预测。 二分类算法&#xff1a;是指待预测的 label 标签的取值只有两种&#xff1b;直白来讲就是每个实例的可能类别只有两种 (0 或者 1)…...

Codeforces Round 853 (Div. 2)

Codeforces Round 853 (Div. 2) C. Serval and Toxels Arrays 思路&#xff1a; 求任意两个组合的元素个数。 注意到&#xff0c;其实每个元素都是独立的。他在任意组合的出现情况组成的贡献是可以分开讨论的。我们讨论元素x。假设x在m1个数组中出现了cnt次&#xff08;一个…...

Ka频段需要更多带宽?

随着全球连接需求的增长&#xff0c;许多卫星通信(satcom)系统日益采用Ka频段&#xff0c;对数据速率的要求也水涨船高。目前&#xff0c;高性能信号链已经能支持数千兆瞬时带宽&#xff0c;一个系统中可能有成百上千个收发器&#xff0c;超高吞吐量数据速率已经成为现实。 另…...

初学pyinstaller打包过程中的一些问题

记录一下使用pyinstaller打包过程中的一些问题&#xff1a; 不安装虚拟环境打包&#xff0c;直接打包&#xff0c;一般不会出现什么问题&#xff0c;但是打包的exe很大&#xff0c;把所有模块和依赖库也一起打包了。 建议使用虚拟环境打包&#xff0c;安装必要的包&#xff0…...

第七章:Java常用类

第七章&#xff1a;Java常用类 7.1&#xff1a;字符串相关的类 String的特性 String表示是字符串&#xff0c;使用一对""引起来表示。 String声明为final的&#xff0c;不可被继承。 String实现了Serializable、Comparable接口&#xff0c;表示字符是支持序列化和…...

Apk加固后多渠道打包

之前一直使用360加固宝进行apk的加固打包&#xff0c;可以一键加固并打多渠道打包。但是&#xff0c;现在360加固宝收费了&#xff0c;在进行加固&#xff0c;多渠道打包&#xff0c;就得一步一步自己操作了&#xff0c;会很繁琐。所以&#xff0c;本文使用 360加固美团Wallet …...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...