require和import区别

require和import区别区别 1 模块加载的时间 require 运行时加载 import 编译时加载 效率更高 区别 2 模块的本质 require 模块就是对象 输入时必须查找对象属性 import ES6 模块不是对象 而是通过 export 命令显式指定输出的代码 再通过 import 命令输入 这也导致了没法引用 ES6 模块本身 因为它不是对象 CommonJS 模块 let exists read

区别1:模块加载的时间

test(); import { 
    test} from '/test'; 

上面的代码不会报错,正常执行

区别2:模块的本质

// CommonJS模块 let { 
    exists, readFile } = require('fs'); // 等同于 let fs = require('fs'); let exists = fs.exists; let readfile = fs.readfile; 

上面CommonJs模块中,实质上整体加载了fs对象(fs模块),然后再从fs对象上读取方法

// ES6模块 import { 
    exists, readFile } from 'fs'; 

上面ES6模块,实质上从fs模块加载2个对应的方法,其他方法不加载

区别3:严格模式

// m1.js export var foo = 'bar'; setTimeout(() => foo = 'baz', 500); // m2.js import { 
   foo} from './m1.js'; console.log(foo); //bar setTimeout(() => console.log(foo), 500); //baz 

ES6 模块之中,顶层的 this 指向 undefined ,即不应该在顶层代码使用 this

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233933.html原文链接:https://javaforall.net

(0)
上一篇 2025年6月10日 上午11:01
下一篇 2025年6月10日 上午11:22


相关推荐

  • plsqldev设置中文_plsql13安装以及配置

    plsqldev设置中文_plsql13安装以及配置1、查看服务端编码selectuserenv(‘language’)fromdual;然后将查询到的服务器编码,配置到环境变量,保证客户端与服务器端编码一致。2、配置环境变量计算机–>右键属性–>高级系统设置–>环境变量–>系统变量,新建…

    2025年7月8日
    13
  • matlab之length函数[通俗易懂]

    matlab之length函数[通俗易懂]1、size获取数组的行数和列数2、length数组长度,即行数和列数中的较大值,相当于max(size(a))3、numel返回元素总数

    2022年4月27日
    102
  • PyCharm 2022.01.12激活-激活码分享

    (PyCharm 2022.01.12激活)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html747EFQ8BIF-eyJsaWNlbnNlSWQi…

    2022年3月31日
    79
  • mysql 数据库索引b+树深度问题

    mysql 数据库索引b+树深度问题常见面试题 mysql 数据库一颗 b 数据深度大概是多少 这要从 b 树的结构和数据库索引大小去分析问题 索引字段占内存大小 指针占内存大小 6 字节 6Byte 或者 6B 1 先看看 b 树结构下面看一颗树第一行中 1 320 为索引数据排序后的数据范围 1 30 320 32 对应的是页指针 指向下一页 b 树非叶子节点存放的都是 key nest 指针 叶子节点存放数据 在 mysql 索引 b 树中 非叶子节点键值数 子节点数 2 计算在 mysql 索引中索引页默认大小 16kS

    2026年3月18日
    1
  • pytorch转tensorflow_语义分割样本不均衡

    pytorch转tensorflow_语义分割样本不均衡憨批的语义分割重制版7——TF2搭建自己的Unet语义分割平台注意事项学习前言什么是Unet模型代码下载Unet实现思路一、预测部分1、主干网络介绍2、加强特征提取结构3、利用特征获得预测结果二、训练部分1、训练文件详解2、LOSS解析训练自己的Unet模型注意事项这是重新构建了的Unet语义分割网络,主要是文件框架上的构建,还有代码的实现,和之前的语义分割网络相比,更加完整也更清晰一些。建议还是学习这个版本的Unet。学习前言还是快乐的pytorch人。什么是Unet模型Unet是一个优秀

    2022年8月21日
    10
  • E667: Fsync failed

    E667: Fsync failed通过vim编辑文件/proc/sys/kernel/core_pattern,保存时报错E667:Fsyncfailed通过以下方式:echo“core-%e-%p-%t”|sudoddof=/proc/sys/kernel/core_pattern参考:https://askubuntu.com/questions/167819/im-getting-fsync-failed-…

    2022年5月25日
    167

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号