专栏首页前端实习日记笔记:总结require和import的区别

笔记:总结require和import的区别

require是这个老一辈码农们在es6规范之前的规范中使用的命令,之前的规范有CommonJS规范、AMD、CMD、还有一个UMD,那为什么是require不是别的呢,因为方便在node中使用。

好的,这又引入了一个问题,Q1CommonJS规范、AMD、CMD、还有一个UMD他们的区别又是什么,说实话我接在他们之后才接触的前端,我也没怎么用过,也没有什么话语权,只能上网翻看其他文章粗略理解记忆,对这个概念先保持不陌生的状态。(有的面试官还爱问,举个例子,你没用过html前几个版本,人家问你Html5的优点,你没用过老版本,你怎么说,说不出来能说明你h5用的不熟?),言归正传,require和import有几点差异: require使用于CommonJS规范,import使用于ES6规范,两者区别实质上是两种规范的区别:

  • 1.CommonJS(require)
    • 1.对基本类型,属于复制;a = require(b),b会被a缓存。
    • 2.对于复杂数据类型,属于浅拷贝,浅拷贝的话就存在一个问题,修改a的话b也会被修改。(Q2又引出一个问题:怎么阻止这种情况发生?)。
    • 3*.在使用require命令加载模块时,就会运行整个模块的代码(同步加载)。
    • 4.使用require命令加载加载过的模块时,不会再执行一次而是从缓存中取,除非清除缓存。
  • 2.ES6模块(import)
    • 1.import属于【动态只读引用】,即import a from ba是只读变量,不论基本数据类型还是复杂数据类型。
    • 2*.import虽然写在文件顶部,但是脚本执行时,在碰到这个只读变量的时候,才执行被加载的模块(异步加载)。
    • 3.对于动态来说,原始值发生变化,import加载的值也会发生变化。不论基本类型还是复杂类型。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JavaScript prototype属性与修改对象

    ================================================================================

    阳光岛主
  • JavaScript 与 Java

    ECMAScript 和 Java 中的 switch 语句有两点不同。在 ECMAScript 中,switch 语句可以用于字符串,而且能用不是常量的值

    城市中的游牧民族
  • JavaScript-原始值和引用值

    (1)原始值指的是 原始类型 的值,也叫 基本类型,例如 Number、Stirng、Boolean、Null、Underfined 。

    WEBING
  • JavaScript词法作用域

    with eval 性能不好:JavaScript引擎无法预先得知它们创建的词法作用域,无法预先在编译阶段做性能优化。

    城市中的游牧民族
  • 命名空间及模块化

    Java用package来达到命名空间同样的效果。 C++就有对应关键字:using namespace。 JavaScript库用对象来封装命名空间。

    城市中的游牧民族
  • 全局作用域、函数作用域、块级作用域的理解

    ES6中新增的概念,在ES5中是没有的,ES5中没有? 没有的时候我们代码也写的好好的,现在新增的概念,我不用不行吗? 来,拋一个典型的问题出来,你就明白块级作...

    yuezhongbao
  • 【ES6基础】解构赋值(destructuring assignment)

    我们经常可以在其他编程语言(如GO语言)中看到多返回值这种特性,因为在很多实际场景中,函数的返回值中,函数的返回值并不只有一个单一的值。ES6之前,并没有可以直...

    前端达人
  • IE错误汇总

    出错背景:vue-cli结合webpack搭建的项目,在IE11运行报错,报错信息会指出错误出处,比如:“app.js (5164,1)”。已安装es6转换es...

    城市中的游牧民族
  • 前端每周清单第 53 期:Go 与 WebAssembly, React Suspense 演练, CSS 技巧

    前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点;分为新闻热点、开发教程、工程实践、深度阅读、开源项目、巅峰人生等栏目。欢迎关注...

    王下邀月熊
  • 小结ES6基本知识点(一)

    ES6初学者,通过阅读本文可对ES6知识点有个大体的概念,强烈建议阅读阮一峰大大的ES6入门。

    前端林子

扫码关注云+社区

领取腾讯云代金券