为什么这样写可以输出?
发布于 8 年前 作者 yiqianke 2883 次浏览 最后一次编辑是 5 年前

app.js

console.log(require("./test.js"));

test.js

var a = {}; a = exports; a.name = 222;

结果-> {name:222}

为什么会打印出a的结果。

如果改成 var a = {}; a.name = 222; a = exports;

结果 -> {}

2 回复

想了一下貌似明白了。 a = exports 这个时候a就等于exports了,因为exports = {}.所以a = {}; a.name 等于 exports.name;

module.exports 是系统建立的对象。 exports 指向 module.exports

你的理解是对的。

回到顶部