美文网首页
es6运行机制借鉴整理

es6运行机制借鉴整理

作者: 木A木 | 来源:发表于2019-03-31 09:04 被阅读0次
// m.js
import {a} from './n';
console.log('3');
console.log(a);
// n.js
console.log('1');
export const a = 'a';
console.log('2');

输出结果:

->1
->2
->3
->a

接下来吧conlole.log(a)去掉后再次看一下输出结果:

->1
->2
->3

思考:为什么会出现这种情况呢?

在阮一峰老师的《ECMAScript 6 入门》里讲到:ES6模块的运行机制与CommonJS不一样,它遇到模块加载命令import时,不会去执行模块,而是只生成一个动态的只读引用。等到真的需要用到时,再到模块里面去取值,换句话说,ES6的输入有点像Unix系统的“符号连接”,原始值变了,import输入的值也会跟着变。

可是按照上面说的,那有console.log(a)的时候,应该是输出3,1,2的顺序,而不是1,2,3的顺序呀。我猜测是上面讲的不细致的原因,应该分为编译时运行时来说。ES6的这种加载称为编译时加载或者静态加载,即 ES6 可以在编译时就完成模块加载,在编译的时候,发现了后面有使用到a的地方,就在运行时遇到import的地方直接执行了模块的代码。

相关文章

  • es6运行机制借鉴整理

    输出结果: 接下来吧conlole.log(a)去掉后再次看一下输出结果: 思考:为什么会出现这种情况呢? 在阮一...

  • 2018-04-21

    ES6数组的扩展整理

  • 004_ES6知识点总结(01)let及const声明

    ES6知识点整理 近期准备面试,把ES6的内容详细复习一遍整理来源素材:阮一峰《ES6标准入门》(第三版);htt...

  • 23- for...of 循环遍历

    ES6 借鉴 C++、Java、C# 和 Python 语言,引入了for...of循环,作为遍历所有数据结构的统...

  • ES6 Promise运行机制解析

    内容参考: 阮一峰 - JS运行机制MDN - Promise构造函数MDN - 使用Promise美团Promi...

  • ES6整理

    概念: ES6 ==>ECMA 标准 ES6 -> 2015年6月发布 ES6.0 每年六月份发布一个版本 E...

  • 6 【单向链表】单向链表

    昨天写链表出现了一些问题,而且现有教材有些代码陈旧,没有使用ES6语法,于是啃了一天的ES6,笔记还在整理,整理好...

  • Promise 使用详解

    查看了阮一峰ES6 借鉴里面的内容总结 什么是 Promise Promise 是异步编程的一种解决方案, 没有 ...

  • SwipeBackLayout滑动返回

    github 地址https://github.com/ikew0ng/SwipeBackLayout借鉴学习整理...

  • 4.5期刊打卡

    借鉴别人的结构,把自己的复习课整理出来。

网友评论

      本文标题:es6运行机制借鉴整理

      本文链接:https://www.haomeiwen.com/subject/thuebqtx.html