此博客是本人从学生时代开始做笔记所用, 部分是工作所遇问题,做填坑笔记,部分闲来查阅资料,加上自己的理解所总结的学习笔记, 常忙得不可开交,若漏了资料来源,望通知~ 前路漫漫,写点东西告诉自己正在一点点进步,而不要迷失于繁忙。

module.exports与exports

module.exports与exports经常能让人弄混,其实module.exports才是真正的对外接口,exports只是对它的引用,即一种辅助、简化写法的工具。

他们之间的关系类似于:

var obj1= {};

var obj2= obj1;

obj1.a= 1;

obj2.b= 2;

console.log(obj1.a, obj1.b); //1, 2

console.log(obj2.a, obj2.b); //1, 2

//obj2是对obj1的引用,两者此时共用一个内存空间。

 

obj2= {c: 3};

console.log(obj1.c) //undefined

//此时obj2拥有了独立的内存空间

 

module.exports与exports的关系类似如此,因此经常能看见如下的操作

module.exports= exports= something; 只是为了防止exports拥有了独立内存后数据没有传给module.exports。

posted @ 2017-06-05 10:36  炎泽  阅读(180)  评论(0编辑  收藏  举报