作家
登录

很全很全的JavaScript模块讲解,看了绝不后悔!

作者: 来源: 2018-01-03 11:34:59 阅读 我要评论

同样都是异步加载模块,AMD在加载模块完成后就会履行该模块,所有模块都加载履行完后会进入回调函数,履行主逻辑,如许的效不雅就是依附模块的履行次序和书写次序不必定一致,看收集速度,哪个先下载下来,哪个先履行,然则主逻辑必定在所有依附加载完成后才履行。

CMD加载完某个依附模块后并不履行,只是下载罢了,在所有依附模块加载完成落后入主逻辑,碰到require语句的时刻才履行对应的模块,如许模块的履行次序和书写次序是完全一致的。

UMD

同一模块定义(UMD:Universal Module Definition )就是将 AMD 和 CommonJS 合在一路的一种测验测验,常见的做法是将CommonJS 语法担保在兼容 AMD 的代码中。

  1. (function(define) {    
  2.  
  3. define(function () {        
  4.  
  5. return { 
  6.  
  7.             sayHello: function () { 
  8.  
  9.                 console.log('hello'); 
  10.  
  11.             } 
  12.  
  13.         }; 
  14.  
  15.     }); 
  16.  
  17. }(     
  18.  
  19. typeof module === 'object' && module.exports && typeof define !== 'function' ?     
  20.  
  21. function (factory) { module.exports = factory(); } : 
  22.  
  23.     define 
  24.  
  25. )); 

该模式的核心思惟在于所谓的 IIFE(Immediately Invoked Function Expression),该函数会根据情况来断定须要的参数类别。

ES6模块(module)

严格模式 

ES6 的模块主动采取严格模式,不管有没有在模块头部加上"use strict";。

严格模式重要有以下限制。

  • 变量必须声明后再应用
  • 函数的参数不克不及有同名属性,不然报错
  • 不克不及应用with语句
  • 不克不及对只读属性赋值,不然报错
  • 不克不及应用前缀0表示八进制数,不然报错
  • 不克不及删除弗成删除的属性,不然报错
  • 不克不及删除变量delete prop,会报错,只能删除属性delete global[prop]
  • eval不会在它的外层感化域惹人变量
  • eval和arguments不克不及被从新赋值
  • arguments不会主动反竽暌钩函数参数的变更
  • 不克不及应用arguments.callee
  • 不克不及应用arguments.caller
  • 禁止this指向全局对象
  • 不克不及应用fn.caller和fn.arguments获取函数调用的客栈
  • 增长了保存字(比如protected、static和interface)

模块Module

一个模块,就是一个对其他模块裸露本身的属性或者办法的文件。

导出Export

作为一个模块,它可以选择性地给其他模块裸露(供给)本身的属性和办法,供其他模块应用。

  1. // profile.js 
  2.  
  3. export var firstName = 'qiqi'
  4.  
  5. export var lastName = 'haobenben'
  6.  
  7. export var year = 1992; 
  8.  
  9. //等价于 
  10.  
  11. var firstName = 'qiqi'
  12.  
  13. var lastName = 'haobenben'
  14.  

      推荐阅读

      详解如何用深度学习消除背景,实现抠图

    【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞? 在上述课程中,我碰到了 Alon Burg——一名经验丰富的 web 开辟人员,我们刚好趣味相投。所认为了>>>详细阅读


    本文标题:很全很全的JavaScript模块讲解,看了绝不后悔!

    地址:http://www.17bianji.com/lsqh/40215.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)