iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >module.exports和exports怎么正确使用
  • 778
分享到

module.exports和exports怎么正确使用

2023-07-05 20:07:49 778人浏览 薄情痞子
摘要

这篇文章主要讲解了“module.exports和exports怎么正确使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“module.exports和exports怎么正确使用”吧!mod

这篇文章主要讲解了“module.exports和exports怎么正确使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“module.exports和exports怎么正确使用”吧!

module.exports和exports使用误区

使用require()模块时,得到的永远都是module.exports指向的对象

1.误区一
exports.username = 'zs'exports.sayHello = function() {    console.log('Hello!');}module.exports = {    gender: '男',    age: 20}

module.exports和exports怎么正确使用
module.exports和exports怎么正确使用
因为默认情况下,exports 和 module.exports 指向同一个对象,二者开始都是指向一个空对象,当export指向新对象username="zs"后,此时二者都指向这 个对象,但是执行后面代码则是在内存中新开辟一个空间存储新对象 {gender:“男”,age:20} ,且把这个新对象的引用交给了module.exports,则module.exports就指向新的对象,不指向之前的对象了
所以这时候,如果使用require()模块,得到的就是module.exports此时指向的对象

注意此处的module.exports已经被重新定义!require()得到的是重新定义之后的导出对象!

2.误区二
module.exports.username = 'zs'exports = {    gender:'男',    age:22}

module.exports和exports怎么正确使用
module.exports和exports怎么正确使用
exports 和 module.exports 开始指向一个空对象,当module.export指向新对象username="zs"后,此时二者都指向这个对象,但是执行后面代码则是在内存 中新开辟一个空间存储新对象 {gender:“男”,age:20} ,且把这个新对象的引用交给了exports,但是module.exports指向对象 没有变,还是指向之前的对象
所以使用require()模块时,module.exports指向的对象还是原来的对象

注意:优先级还是module.exports的最高!!require()优先引用的还是module.exports所导出的对象!

3.误区三
exports.username = 'zs'module.exports.gender = '男'

module.exports和exports怎么正确使用
module.exports和exports怎么正确使用
二者开始指向空对象,第一 行代码通过exports引用关系挂载了一个name属性,第二行又通过module.exports引用关系挂载了一个属性age 这里不存在新对象 都是挂载属性 这些属性都被放在了开始二者指向的对象中,最终两个属性都在此对象中
此时使用require()模块时,module.exports指向的对象没有变 ,但是此时指向对象上有两个属性

注意:这里的module.exports.gender = '男'在module.exports导出对象的基础上再次增加的属性,module.exports所指向的地址并没有改变!

4.误区四
exports = {    uesrname: 'zs',    gender: '男'}module.exports = exportsmodule.exports.age = 22

module.exports和exports怎么正确使用
module.exports和exports怎么正确使用

同理二者开始指向同一空对象,执行代码,在内存中定义了一个新对象,且把新对象挂载在exports上,此时exports就不指向之前的空对象 而指向新定义的对象,module.exports=exports这行代码把export的引用关系通过等号赋值给了module.exports,则module.exports也不指向之前的空对象了,也指向新对象了,最后给module.exports指向的新对象又继续挂载了一个age属性
此时使用require()模块时 ,module.exports指向的对象没有变,但是此时指向对象上有两个属性

谨记,使用require()模块时,得到的永远都是module.exports指向的对象
所以,为了防止这种混乱,以后在一个模块中,不 要同时使用exports和module.exports

感谢各位的阅读,以上就是“module.exports和exports怎么正确使用”的内容了,经过本文的学习后,相信大家对module.exports和exports怎么正确使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: module.exports和exports怎么正确使用

本文链接: https://www.lsjlt.com/news/355029.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • module.exports和exports怎么正确使用
    这篇文章主要讲解了“module.exports和exports怎么正确使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“module.exports和exports怎么正确使用”吧!mod...
    99+
    2023-07-05
  • Node.js中module.exports 和exports使用误区
    目录一、module,module.exports ,exports含义二.案例案例一:案例二案例三案例四一、module,module.exports ,exports含义 mod...
    99+
    2024-04-02
  • module.exports和exports使用误区案例分析
    module.exports和exports使用误区 使用require()模块时,得到的永远都是module.exports指向的对象 1.误区一 exports.username...
    99+
    2023-05-14
    ES6 module.exports exports require node.js
  • Node.js中module.exports和exports使用误区是什么
    这篇文章主要讲解了“Node.js中module.exports和exports使用误区是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node.js中module.exports和ex...
    99+
    2023-06-29
  • Node中module.exports和exports区别是什么
    本篇内容介绍了“Node中module.exports和exports区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、当使用分别...
    99+
    2023-07-05
  • 怎么正确使用mysql dump
    本篇内容主要讲解“怎么正确使用mysql dump”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么正确使用mysql dump”吧!1、如果mysql dum...
    99+
    2024-04-02
  • python怎么正确使用yield
    这篇文章主要介绍了python怎么正确使用yield,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。生成器如果在一个方法内,包含了 yield 关键字,那么这个函数就是一个「生...
    99+
    2023-06-15
  • 怎么正确使用Oracle Hint
    本篇内容主要讲解“怎么正确使用Oracle Hint”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么正确使用Oracle Hint”吧!一、提示(Hint)概...
    99+
    2024-04-02
  • 怎么在Java中正确使用wait, notify和notifyAll
    这篇文章将为大家详细讲解有关怎么在Java中正确使用wait, notify和notifyAll,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。wait, notify 和 notifyAll,这些在多线程...
    99+
    2023-06-17
  • stream中怎么正确使用peek
    这篇文章主要讲解了“stream中怎么正确使用peek”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“stream中怎么正确使用peek”吧!简介自从JDK中引入了stream之后,仿佛一切都...
    99+
    2023-07-05
  • java中println怎么正确使用
    在Java中,`println`是一个用于输出的方法,用于在控制台中打印一行文本。它的正确使用方式如下: 打印字符串: Syst...
    99+
    2023-10-28
    java
  • 怎么正确使用dotnet工具
    要正确使用dotnet工具,首先需要安装dotnet SDK。然后,可以使用以下步骤进行操作:1. 打开命令提示符或终端窗口。2. ...
    99+
    2023-08-18
    dotnet
  • 怎么正确使用dotnet-*工具
    本篇内容主要讲解“怎么正确使用dotnet-*工具”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么正确使用dotnet-*工具”吧!安装因为我们现在都是容器化时代了,所以我们可以把这类工具全部...
    99+
    2023-06-22
  • C++中怎么正确使用hashmap
    这篇“C++中怎么正确使用hashmap”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++中怎么正确使用hashmap”文...
    99+
    2023-07-05
  • Git工具怎么正确使用
    这篇文章主要介绍“Git工具怎么正确使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Git工具怎么正确使用”文章能帮助大家解决问题。一、安装Git二、Git简介Git是一种多人协作的版本管理系统。...
    99+
    2023-06-29
  • sql中comment怎么正确使用
    在SQL中,可以使用注释来为代码提供说明或者备注。注释可以简短描述SQL查询的目的、功能或者其他相关信息,让其他开发人员能够更容易地...
    99+
    2024-04-09
    sql
  • 怎么正确使用sed命令
    本篇内容介绍了“怎么正确使用sed命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!sed是一种在线编辑器,它一次处理一行内容。处理时,把当...
    99+
    2023-06-28
  • asp中response.flush怎么正确使用
    在ASP中,Response.Flush方法用于将所有尚未发送到客户端的输出发送到客户端。这可以用于实时地将输出发送到客户端,而不是...
    99+
    2023-08-19
    asp
  • oracle索引怎么正确使用
    正确使用Oracle索引的基本原则如下: 选择适当的列进行索引:选择经常用于查询和连接的列进行索引,特别是那些具有高选择性和频繁...
    99+
    2024-04-09
    oracle
  • 怎么正确使用PostgreSQL中的OR
    本篇内容介绍了“怎么正确使用PostgreSQL中的OR”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在S...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作