CNode

为什么这样写可以输出?

Yyiqianke发布于13 年前最后回复13 年前2 回复4479 浏览0 收藏

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)

Y
yiqianke#1·13 年前

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

L
leapon#2·13 年前

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

你的理解是对的。

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