node中module.exports和堆栈的概念,1024学习笔记

101 阅读1分钟

1024写一个文章增添些仪式感吧

nodejs中module.exports和exports的关系

他们的指向是一致的;

  • module.exports == exports (true)

堆栈的概念

var a = 10;
var b = a;
a++;
console.log(a); // 11
console.log(b); // 10
// 因为a,b此时存放在内存的堆内存中;各自互不影响;如下
属性
a10
b10
var a = {
 name : '聪明的土地'
}
var b = a;
b.name = '肥沃的土地';
console.log(a.name); // 肥沃的土地
  • 这是堆内存
属性
a十六进制地址OX111
b十六进制地址OX111
  • 这是栈内存
栈内存
OX111 ; name = 聪明的土地
OX112 -------------------
  • 对象储存在栈内存中。此时a,b指向的是相同的地址;由于b修改了指向地址中的name,所以a此时name的值也随之改变;
// 假如b=null;表示b此时切断了与栈中的联系,也就是改变了指向的地址。并不影响a;
b = null;
consolo.log(a)// {name:'肥沃的土地'}
console.log(b)// null

由此会引出深拷贝已经浅拷贝的问题;以后有机会分解; 各位节日快乐,身体健康哈哈哈哈