關于exports.add=add中,兩個add方法的意義?
1.關于exports.add=add中,為什么在共享到外部的過程中,這個add方法不能改名字?
兩個add分別代表什么呢?
2.exports.add=add和module.exports=add的具體的區別在哪里呢?感覺后者的語法更好理解?。ㄖ饕€是前者搞不清楚...)
1.關于exports.add=add中,為什么在共享到外部的過程中,這個add方法不能改名字?
兩個add分別代表什么呢?
2.exports.add=add和module.exports=add的具體的區別在哪里呢?感覺后者的語法更好理解?。ㄖ饕€是前者搞不清楚...)
2017-06-15
舉報
2017-12-07
add只是個名字??梢孕薷牡?/p>
2017-12-07
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當成模塊直接導出?;蛘哒f
var res=require()后,res即等于add??梢灾苯诱{用res().
有想法再溝通。
2017-06-15
這兩個exports.add=add,分表表示學生和老師的add,這是兩個函數,而exports.add=add是將add函數拋出去,add是函數,預先定義好了,所以不能改名。teacher.js 和 student.js兩者定義的函數是不相互影響的