跳到主要内容
CNode

为什么这样写可以输出?

社区
Yyiqianke发布于 13 年前最后回复 13 年前
245020

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)

L
leapon#213 年前

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

你的理解是对的。

Y
yiqianke#113 年前

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

参与回复

登录后即可参与回复。登录