首页 > 编程语言 >JavaScript 中模块的导入和导出

JavaScript 中模块的导入和导出

时间:2023-06-27 22:38:04浏览次数:31  
标签:admin JavaScript 导出 js 导入 模块

模块简介

  • html文档一般在标签中引入外部js文件

  • <script>标签引入的脚本中创建的变量,都会被注册为window对象下全局变量,这样做会污染全局命名空间

  • 这就衍生除了模块化的解决方案,比如CommonJS等,但是这些解决方案都不是JavaScript原生的,直到 ES6 支持 JavaScript 模块的使用。

什么是模块?

一个模块(module)就是一个文件。一个脚本就是一个模块。就这么简单。

模块使用export导出,import导入。

export: 用于向其他模块提供代码。
import: 用于读取从另一个模块导出的代码。

  • 在html文件中导入模块,需要添加type ="module",才能确保代码作为模块而不是常规脚本加载。

模块代码仅在第一次导入时被解析

如果同一个模块被导入到多个其他位置,那么它的代码只会执行一次,即在第一次被导入时。
我们假设一个模块导出了一个对象:

// 

标签:admin,JavaScript,导出,js,导入,模块
From: https://www.cnblogs.com/marshban/p/17510061.html

相关文章

  • Python之文档测试模块——doctest(转载)
    doctest是python自带的一个模块。doctest有两种使用方式:一种是嵌入到python源码中,另外一种是放到一个独立文件。doctest模块会搜索那些看起来像是python交互式会话中的代码片段,然后尝试执行并验证结果。 1doctest嵌入源码中下面的代码只有一个函数,里面嵌入了两个doctest测试......
  • Python模块之Collections
    collections的常用类型有:计数器(Counter)双向队列(deque)默认字典(defaultdict)有序字典(OrderedDict)可命名元组(namedtuple)使用以上类型时需要导入模块fromcollectionsimport*1.CounterCounter 作为字典(dict)的一个子类用来进行hashtable计数,将元素进行数量统计、计数后......
  • 【雕爷学编程】Arduino动手做(131)---跑马灯矩阵键盘模块
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • Java静态导入(import static)需谨慎
    从Java5开始引入了静态导入语法(importstatic),其目是为了减少字符输入量,提高代码的可阅读性,以便更好地理解程序。我们先来看一个不使用静态导入的例子,也就是一般导入:publicclassMathUtils{//计算圆面积publicstaticdoublecalCircleArea(doubler){ret......
  • etcd网络模块解析
    1.RaftHttp模块介绍在etcd里raft模块和网络模块是分开的,raft模块主要负责实现共识算法,保证集群节点的一致性,消息的发送和接收则交给raftHttp网络模块来处理,由上层应用模块来进行协调交互和消息传递。 1.1.整体结构图  (1)当raft模块发生了状态变化时,会把变化的消息封装......
  • 简单谈谈JAVASCRIPT高级特性
    js中没有class的概念,我们可以使用function来模拟。惰性载入函数例如我们通常使用以下的js代码创建ajax:functioncreateXHR(){varxhr=null;try{xhr=newXMLHttpRequest();//FF、Opera、Safari、IE7}catch(e){handlerError(e);try{xhr=newActiveXOb......
  • Python logging模块(转载)
    Pythonlogging模块日志级别CRITICAL=50#FATAL=CRITICALERROR=40WARNING=30#WARN=WARNINGINFO=20DEBUG=10NOTSET=0#不设置默认级别为warning,默认打印到终端importlogginglogging.debug('调试debug')logging.info('消息info')logging.warnin......
  • RT-Thread 正点原子阿波罗STM32F429IGT6-软件IIC控制I/O扩展模块PCF8574T(踩坑)
    第一步:在RT-ThreadSettings中打开I2C设备驱动,Ctrl+S保存 第二步:在drivers->board.h中进行配置,取消BSP_USING_I2C2的注释,并根据说明定义好引脚; 第三步:对引脚进行初始化,这里可使用CubeMX进行生成; 第四步:根据设备名查找设备 第五步:调用 rt_i2c_transfer 发......
  • Building a Dice Game using JavaScript Javascript构建一个dice game 项目
    WewillbebuildingaDiceGameProjectusingHTML,CSS,andJavaScript.TheDiceGameisbasedonatwo-player.Bothplayersrollthediceandtheplayerwhogetsthehighestphasevaluewillwinthegame.ImagesofDicePhases: Thelistofdicephasesi......
  • Selenium基础:cookie javascript调用 屏幕截图 09
    1、cookie操作 绕过登录get_cookies():以字典形式返回cookie所有信息get_cookies(name):返回cookie字典中key为name的值add_cookie(cookie_dict):手动添加cookie。cookie_dict为字典数据格式,cookie_dict中必须有name和value值delete_cookie(name):删除cookie字典中key为name的......