• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > Node.js 中exports 和 module.exports 的区别

Node.js 中exports 和 module.exports 的区别

作者:nswbmw 字体:[增加 减小] 来源:互联网 时间:2017-05-11

nswbmw通过本文主要向大家介绍了node.js exports,node module.exports,node exports,js module.exports,module.exports等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Node.js 中exports 和 module.exports 的区别

require 用来加载代码,而 exports 和 module.exports 则用来导出代码。但很多新手可能会迷惑于 exports 和 module.exports 的区别,为了更好的理解 exports 和 module.exports 的关系,我们先来巩固下 js 的基础。示例:

test.js

var a = {name: 1};
var b = a;

console.log(a);
console.log(b);

b.name = 2;
console.log(a);
console.log(b);

var b = {name: 3};
console.log(a);
console.log(b);

</div>

运行 test.js 结果为:

{ name: 1 }
{ name: 1 }
{ name: 2 }
{ name: 2 }
{ name: 2 }
{ name: 3 }

</div>

解释:a 是一个对象,b 是对 a 的引用,即 a 和 b 指向同一块内存,所以前两个输出一样。当对 b 作修改时,即 a 和 b 指向同一块内存地址的内容发生了改变,所以 a 也会体现出来,所以第三四个输出一样。当 b 被覆盖时,b 指向了一块新的内存,a 还是指向原来的内存,所以最后两个输出不一样。

明白了上述例子后,我们只需知道三点就知道 exports 和 module.exports 的区别了:

  1. module.exports 初始值为一个空对象 {}
  2. exports 是指向的 module.exports 的引用
  3. require() 返回的是 module.exports 而不是 exports

现在我们来看 Node.js 官方文档的截图:

我们经常看到这样的写法:

exports = module.exports = somethings
</div>

上面的代码等价于:

module.exports = somethings
exports = module.exports
</div>

原理很简单,即 module.exports 指向新的对象时,exports 断开了与 module.exports 的引用,那么通过 exports = module.exports 让 exports 重新指向 module.exports 即可。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 详解Node.js中exports和module.exports的区别
  • Node.js 中exports 和 module.exports 的区别

相关文章

  • 2017-05-11bootstrap配合Masonry插件实现瀑布式布局
  • 2017-05-11使用nodejs爬取前程无忧前端技能排行
  • 2017-05-11原生js仿浏览器滚动条效果
  • 2017-05-11jQuery自定义元素右键点击事件(实现案例)
  • 2017-05-11详解vue2.0组件通信各种情况总结与实例分析
  • 2017-05-11js模态对话框使用方法详解
  • 2017-05-11Web开发中客户端的跳转与服务器端的跳转的区别
  • 2017-05-11jquery 实时监听输入框值变化的完美方法(必看)
  • 2017-05-11jQuery模拟淘宝购物车功能
  • 2017-05-11jQuery Validate 相关参数及常用的自定义验证规则

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 原生js实现轮播图的示例代码
    • AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
    • Angular.js 4.x中表单Template-Driven Forms详解
    • 详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
    • React组件的三种写法总结
    • jquery实现异步加载图片(懒加载图片一种方式)
    • JavaScript表单验证的两种实现方法
    • vue.js的提示组件
    • js放到head中失效的原因与解决方法
    • vue动态生成dom并且自动绑定事件

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有