您的位置:首页 > Web前端 > Node.js

Node基础exports和module.exports解析

2019-08-04 21:35 1171 查看

基本数据类型保存在栈里面

[code]var a=10;
var b=a;
a++;
console.log(a);
console.log(b);
输出:11 10

对象在堆内存里面

[code]var obj=new Object();
obj.name="孙悟空";
var obj2=obj;
console.log("obj="+obj.name);
console.log("obj2="+obj2.name);
输出:obj=孙悟空 obj2=孙悟空

接着

[code]var obj=new Object();
obj.name="孙悟空";
var obj2=obj;
obj2.name="猪八戒";
console.log("obj="+obj.name);
console.log("obj2="+obj2.name);
输出:obj=猪八戒 obj2=猪八戒

对象是在堆内存,创建一个对象,在栈内存里面持有对该对象堆内存的引用。

[code]var obj=new Object();
obj.name="孙悟空";
var obj2=obj;
obj2.name="猪八戒";
obj2=null;
console.log("obj="+obj.name);
console.log("obj2="+obj2.name);
输出:obj=猪八戒 obj2=null

exports和module.exports(exports=module.exports,类似于上面的obj和obj2)

-通过exports只能使用 的方式来向外暴露内部变量,不能直接通过exports={} 来暴露,因为这改变了exports对象了。

exports.xxx=xxx

-而module.exports既可以通过 . 的形式,也可以直接赋值

module.exports.xxx=xxx

module.exports={ }

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: