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;
};
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题