exports的方法如何访问闭包变量

内部变量与外部变量如何区分?

var name = 'im a module';

exports.setName = function (name) {
//如何区分两个name,需求是第一个name为外部的name,第二个name为参数name
    name = name;
};

exports.sayName = function () {
    console.log('Hello ' + name);
}
阅读 3.8k
1 个回答

参数名称和你模块中变量名字不同就好了。
如果你想访问外层的变量,那么你这个模块必须提供方法来接收外层模块的变量或方法
你的模块无法预知外层模块的某个变量一定存在或不存在,只能被动的接收外层的调用通知

//导出一个赋值方法
exports.setName = function (nameIn) {
    name = nameIn;
};
推荐问题