码迷,mamicode.com
首页 > 其他好文 > 详细

exports和module.exports的区别

时间:2017-01-20 19:19:05      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:var   方法   exports   属性   问题   没有   exp   script   就会   

最近忍不住开始尝试nodeJS了,简直又是打开了一片天地,学的越多越觉得自己好low,还有好多好多东西没有触碰,没有学习。

解决这个问题的唯一的办法就是卧薪尝胆。

好的,刚开始接触nodeJS,在视频学习的时候看到了exports和module.exports这两种导出模块函数的方法。哎,好老师太难遇到了,我唯一喜欢的老师就是带我坑js的石川老师,其他老师的视频我实在不知道说什么好。好吧又说别的了,其实我的意思是我没有听懂exports和module.exports的区别,而且那个老师也只是随便说了两句,但是觉得这个挺重要的,于是网上查了一些资料,自己的理解如下:

其实module.exports就是{},而exports是指向module.exports的引用。

有点难理解?

那么接下来用js来说一下。

var a = { x:1 };

var b = a;

这个可以看明白吧?看不明白出门右转去看javascript对象.

接下来我可以这样用

console.log(b.x);   // 1

也可以这样用

b.y = 2;

console.log(a);    //  { x:1, y:2}

所以看懂了吗?其实module.exports就是a,而exports就是b。

当我们在nodeJS里面使用exports是这样的   exports.xxx = yyy; 假如你是用module.exports = yyy,那么yyy就会把原来{}里面的方法都覆盖,而exports.xxx就是添加属性。

假如你一定要使用module.exports的话,可以这样module.exports.xxx = yyy;

 

好的,结束。

 

exports和module.exports的区别

标签:var   方法   exports   属性   问题   没有   exp   script   就会   

原文地址:http://www.cnblogs.com/claireyu1219/p/6323376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!