Node.js 之学习笔记

2017-02-10  本文已影响0人  不吃早餐我就是Mark

这里有一只小白在学习Node.js,相关大神请撤离 :)

module.exports和exports的区别

首先回顾一下Js基础知识:

var a = {"name": "Mark"};
var b = a;

console.log(a);
// Object {name: "Mark"}
console.log(b);
// Object {name: "Mark"}
------------------------
var a = {"name": "Mark"};
var b = a;
b.name = "Merry";
console.log(a);x
// Object {name: "Merry"}
console.log(b);
// Object {name: "Merry"}
------------------------
var a = {"name": "Mark"};
var b = {"name": "Merry"};
b.name = "Job";
console.log(a);
// Object {name: "Mark"}
console.log(b);
// Object {name: "Job"}

这里就涉及到了ES5中的引用类型,b为a的引用,两者指向同一块内存,所以前两种情况到b改变时,a也跟着改变。但b被赋值后,两者并不是指向同一块内存,所以互不影响。

如果你对引用类型的理解没问题的话,那么module.exports 与 exports的区别理解起来就很简单了,如下:

所以当给exports赋值时,会失效,更多相关姿势请查看这里

is Updating...

上一篇 下一篇

猜你喜欢

热点阅读