【node】------module.exports&&exports之间的区别------【巷子】

一、再讲module.exports 与exports之间的区别的时候咱们先来回顾一下js里面的引用传递ui

   00一、引用传递

   var arr = [10,20,30]; var newarr = arr; console.log(arr);//[10,20,30] console.log(newarr);//[10,20,30]; newarr[0] = 40; console.log(arr);//[40,20,30]; console.log(newarr);//[40,20,30];
分析:
    第一次定义var arr = [10,20,30]; 咱们知道引用数据类型的数据放在堆中,索引放在栈中,索引指向的地址是堆中的地址,而var newarr = arr;是将arr的指向复制了一份给了newarr,所以第一次输出2个的值是同样的。而第二次newarr[0] = 40,由于newarr的指向和arr的指向是相同的,所以newarr[0] = 40,是将地址中的第一个数据发送了改变。而刚好二者的指向是相同的所以arr的数据也发生了改变
 
二、module.exports && exports
其实二者的关系跟上面的关系是同样的。exports是module.exports的一个引用。
    区别:
        一、module.exports默认的初始值是一个空的对象
 
        二、exports是module.exports的一个引用
 
    三、require返回的是module.exports而不是exports
相关文章
相关标签/搜索