【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
相關文章
相關標籤/搜索