ES6学习笔记(十四)module的简单使用
1、前言
module模块机制是es6新引入的,它解决了作用域的问题,使代码更加规范和结构化。
下面简单的使用一下。
2、基本使用
2.1 模块和脚本的区别
- 模块代码运行在严格模式下,并且没有任何办法跳出严格模式。
- 在模块的顶级作用域创建的变量,不会影响到全局作用域,它们只会在模块顶级作用域的内部存在。
- 模块顶级作用域的this值为undefined。
- 模块不允许在代码中使用HTML风格的注释。
- 模块允许到处需要外部引用的方法或变量。
- 模块可以从其他模块导入绑定。
2.2 几种使用方法
2.2.1 导入单个(JS文件中)
methods.mjs
function mul(num1, num2) {
return num1 * num2
}
export { mul }test.js
import { mul } from "./methods.mjs";
console.log(mul(2, 3));2.2.2 导入单个(浏览器中)
HTML中
方式一://直接通过script标签引用,注意type选择module
<script type="module" src="test.js"></script>运行结果:
6
方式二:
<script type="module">
import { mul } from "./methods.mjs"
console.log("两个数的积是:", mul(2,3));
</script>
方式三:
<script type="module">
import { mul as cj } from "./methods.mjs"
console.log("两个数的积是:", cj(2,3));
</script>
运行结果:
6
2.2.3 导入多个
methods.mjs
export var color = "blue"
export let name = "Jerry"
export const count = 6
export function sum(num1, num2) {
return num1 + num2
}
function sub(num1, num2) {
return num1 - num2
}
function mul(num1, num2) {
return num1 * num2
}
export { sub, mul }
// out 为模块的命名空间
let out = {
data: { color, name, count },
foo: sum,
foo2: sub,
foo3: mul
}
export { out }
HTML中
<script type="module">
import { sum, sub, mul} from "./methods.mjs"
console.log("两个数的和是:", sum(3, 2));
console.log("两个数的差是:", sub(3, 2));
console.log("两个数的积是:", mul(3, 2));
</script>
运行结果:
两个数的和是: 5
两个数的差是: 1
两个数的积是: 6
使用命名空间:
<script type="module">
import { out } from "./methods.mjs"
console.log("两个数的和是:", out.foo(3, 2));
console.log("两个数的差是:", out.foo2(3, 2));
console.log("两个数的积是:", out.foo3(3, 2));
console.log("颜色是", out.data.color);
console.log("名字是", out.data.name);
console.log("数量是", out.data.count);
</script>
运行结果:
两个数的和是: 5
两个数的差是: 1
两个数的积是: 6
颜色是 blue
名字是 Jerry
数量是 6
若要完全导入一个模块,使用 import * as methods from "./methods.mjs"
ES6学习笔记(十四)module的简单使用的更多相关文章
- python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例
python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...
- (C/C++学习笔记) 十四. 动态分配
十四. 动态分配 ● C语言实现动态数组 C语言实现动态数组,克服静态数组大小固定的缺陷 C语言中,数组长度必须在创建数组时指定,并且只能是一个常数,不能是变量.一旦定义了一个数组,系统将为它分配一个 ...
- 【转】angular学习笔记(十四)-$watch(1)
本篇主要介绍$watch的基本概念: $watch是所有控制器的$scope中内置的方法: $scope.$watch(watchObj,watchCallback,ifDeep) watchObj: ...
- ES6学习笔记八(module模块export)
1.导出export,导入import组合 知识点1:导出export lesson2.js export let A=; export function test(){ console.log('t ...
- angular学习笔记(十四)-$watch(1)
本篇主要介绍$watch的基本概念: $watch是所有控制器的$scope中内置的方法: $scope.$watch(watchObj,watchCallback,ifDeep) watchObj: ...
- angular学习笔记(十五)-module里的'服务'
本篇介绍angular中的模块:module 在笔记(二)http://www.cnblogs.com/liulangmao/p/3711047.html里已经讲到过模块,这篇主要讲模块的 '服务' ...
- ES6学习笔记(四)-数值扩展
PS: 前段时间转入有道云笔记,体验非常友好,所以笔记一般记录于云笔记中,每隔一段时间,会整理一下, 发在博客上与大家一起分享,交流和学习. 以下:
- ES6学习笔记(四)数值的扩展
1.二进制和八进制表示法 ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示. 0b111110111 === 503 // true 0o767 === 503 ...
- ES6 学习笔记(四)基本类型Number
1.数值 1.1 .JavaScript数值的特点 不区分整数值和浮点数值. 所有数值均用浮点数值表示. 采用IEEE-754标准定义的64位浮点数格式表示. 整数在实际操作时(如数组索引),则是基于 ...
- JavaScript权威设计--Window对象之Iframe(简要学习笔记十四)
1.Window对象属性的文档元素(id) 如果在HTML文档中用id属性来为元素命名,并且如果Window对象没有此名字的属性,Window对象会赋予一个属性,它的名字是id属性的值,而他们的值指向 ...
随机推荐
- Word 脚注和尾注是什么?怎么设置?
描述 脚注一般位于页面的底部,作为文档某处内容的注释.尾注一般位于文档的末尾,列出引文的出处等. 设置脚注和尾注 将光标移动到要插入脚注或尾注的地方,然后点击"引用"选项卡. 左边 ...
- [开源精品] C#.NET im 聊天通讯架构设计 -- FreeIM 支持集群、职责分明、高性能
FreeIM 是什么? FreeIM 使用 websocket 协议实现简易.高性能(单机支持5万+连接).集群即时通讯组件,支持点对点通讯.群聊通讯.上线下线事件消息等众多实用性功能. ImCore ...
- 01 - 快速体验 Spring Security 5.7.2 | 权限管理基础
在前面SpringBoot 2.7.2 的系列文章中,已经创建了几个 computer 相关的接口,这些接口直接通过 Spring Doc 或 POSTMAN 就可以访问.例如: GET http:/ ...
- 移动教室APP
软件名:VERIMAG 官网链接:http://www.verimag.ru/mobilnoe-obrazovanie.html 移动课堂,充满活力的气息.走在时代前沿的同时,也对教育者对于编制课件的 ...
- 【题解笔记】PTA基础6-10:阶乘计算升级版
题目地址:https://pintia.cn/problem-sets/14/problems/742 前言 咱目前还只能说是个小白,写题解是为了后面自己能够回顾.如果有哪些写错的/能优化的地方,也请 ...
- Sentinel源码分析-滑动窗口统计原理
滑动窗口技术是Sentinel比较关键的核心技术,主要用于数据统计 通过分析StatisticSlot来慢慢引出这个概念 @Override public void entry(Context con ...
- The 19th Zhejiang Provincial Collegiate Programming Contest
目录 A.JB Loves Math B.JB Loves Comma C. JB Wants to Earn Big Money G. Easy Glide I. Barbecue L. Candy ...
- DNS委派不生效
DNS委派不生效 近日,在公司内部的Windows DNS服务器上建立了一个新的区域,其中有两个子区域委派到其它的DNS服务器上.其中一个被委派的区域地址是公网. 建立了委派区域后客户端无法解析 ...
- 2021年3月-第02阶段-前端基础-Flex 伸缩布局-移动WEB开发_流式布局
移动web开发流式布局 1.0 移动端基础 1.1 浏览器现状 PC端常见浏览器:360浏览器.谷歌浏览器.火狐浏览器.QQ浏览器.百度浏览器.搜狗浏览器.IE浏览器. 移动端常见浏览器:UC浏览器, ...
- Apache开启目录浏览功能的正确姿势
部分代码是抄的网友的,哪儿抄的忘了,我是自己修改了点,并非我本人原创,觉得侵权联系我,立马删 在宝塔面板中,打开网站的设置,在配置文件那里添加如下内容 Directory "文件绝对路径&q ...