3/27es6模块化

文章探讨了模块化的不同规范,包括CommonJS、AMD以及ES6的import。CommonJS适合服务端同步加载,而AMD如require.js适合浏览器的异步加载。ES6的模块导入是静态的,提供值的引用。此外,还提到了函数的部分执行和一些语法特性如占位运算符和管道运算符。
摘要由CSDN通过智能技术生成

模块化es5 es6

const es5=require('fs')
运行时加载
import {f1} from './1.js'
编译时加载

模块化规范有CommonJS /AMD/CMD/UMD/Moudule
AMD模块定义通过define语句实现,通常在开发工程中,基于define语法定义的模块分为两类。

  1. 没用模块依赖的模块,其语法如下,回调函数的内容即为自定义的模块的内容。
  2. 定义有依赖的模块,其语法为如下
    define([‘module1’,…,‘modulen’],function(param)]){
    return
    }
    其中[1]参数1:数组形式的字符串,显示声明要注入若干依赖模块
    [2]参数2:param-回调函数,在模块加载之后立即执行

各个模块加载的特点

  • CommonJS特点:
    1.同步加载方式,适用于服务端,因为模块都放在服务端,对于服务端来说模块加载较快,不适合在浏览器环境中使用,因为同步意味着阻塞加载。
    2.所有模块多次加载,但只会在第一次加载时运行一次,然后运行结果就被缓存了,以后再加载,就总结读取缓存结果。

  • AMD
    采用异步方式加载模块,模块的加载不影响它后面语句的运行,所有依赖这个模块的语句,都定义再一个回调函数中,等到模块完成之后。这个回调函数才会运行,推崇依赖前置require.js目前AMD规范最热门的一个实现。
    AMD也采用require语句加载模块,但是不同于CommonJS,它要求两个参数:require(module,callback);

require(['math'],function(math){
math.add(2,3)
});

CommonJS 模块输出的是一个值的拷贝,ES6 模块输出的是值的引用。
CommonJS 模块是运行时加载,ES6 模块是编译时输出接口。
CommonJS 模块的require()是同步加载模块,ES6 模块的import命令是异步加载,有一个独立的模块依赖的解析阶段。

函数的部分执行

function add(x+y){return x+y}
function add7(x){return x+7}=>
function add(x,y)=>x+y
const addOne=add(1,?)
const maxGreaterThanZero=Math.max(0,...)

特定

待定运算符?
占位运算符...

管道运算符

|>==f(x)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值