5.js
/*
* 在一个变量中通过var定义的变量,其作用域范围是当前模块,外部模块不能直接访问
* 如果我们想一个模块能访问另外一个模块中的变量,可以:
* 1. 把变量作为global对象的属性,但是这样的方式是不推荐的
* global.a=100;
* 2. 使用模块对象 module
* module : 保存提供和当前模块有关的一些信息
* 在这个module对象下有个子对象 : exports对象
* 我们可以通过这个子对象把一个模块中的局部变量对外进行访问
* module.exports.a=a;
* 在模块作用域,还有一个内置的模块对象,exports,他其实就是module.exports.a=a;
* exports.a=a;
* console.log(module.exports===exports); 结果是true
* */
//var a=100; 另外的模块不能访问这个变量;
//global.a=100;
//console.log(module);
var a=100;
//module.exports.a=a;
//console.log(module.exports===exports);
exports.a=a;
4.js
var m5=require('./5.js');
//console.log(a);
console.log(m5);