为了账号安全,请及时绑定邮箱和手机立即绑定

关于exports.add=add中,两个add方法的意义?

1.关于exports.add=add中,为什么在共享到外部的过程中,这个add方法不能改名字?

两个add分别代表什么呢?

2.exports.add=add和module.exports=add的具体的区别在哪里呢?感觉后者的语法更好理解啊(主要还是前者搞不清楚...)


正在回答

3 回答

add只是个名字。可以修改的

0 回复 有任何疑惑可以回复我~

exports.add=add和module.exports=add完全是两个不一样的东西。

首先,先知道一点,require()返回的是module.exports;而module.exports={ };exports=module.exports;

1 exports.add=add和module.exports.add=add是一个相似的东西。可以说,exports是module.exports的一个引用。当第一种写法,是在module.exports这个object字面量对象上继续挂值。当你这样写exports={add:add}时候,就不行了。因为相当于重写了exports,这时候exports就是另一个object字面量了。

2 module.exports=add这个写法。是相当于把add看成了模块的名字。把add当成模块直接导出。或者说

var res=require()后,res即等于add。可以直接调用res().

有想法再沟通。

0 回复 有任何疑惑可以回复我~

这两个exports.add=add,分表表示学生和老师的add,这是两个函数,而exports.add=add是将add函数抛出去,add是函数,预先定义好了,所以不能改名。teacher.js 和 student.js两者定义的函数是不相互影响的

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
进击Node.js基础(一)
  • 参与学习       219394    人
  • 解答问题       896    个

本视频教程带你揭开Node.js的面纱,带你走进一个全新世界

进入课程

关于exports.add=add中,两个add方法的意义?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信