今天做错了两道关于模块化相同的题目都错了

116 阅读1分钟

这两个题目都是关于模块导入和导出的.错的地方也证明了自己有一个地方就是没有搞懂.

今天有时间就仔细的研究研究一下.这两个题目都是同一个知识点. image.png

image.png 首先exports和module.exports指向的都是同一个对象.在栈中存储的是一样的地址.

image.png 当我们给exports赋值时它在栈中存储的会发生改变.

第一题:当我们给exports直接赋值为简单数据类型是.expotrs在栈中存储的地址直接覆盖为简单的数据数据类型.而输出时是以module.erports为主.此时module.exports指向的堆空间里没有数据就为空.

image.png

第二题的意思也是差不多

当我们给exports直接赋值为复杂数据类型是.expotrs在栈中存储的地址会改变为新的地址指向堆中新的空间.而输出时是以module.erports为主.此时module.exports指向的堆空间里没有数据就为空.

image.png