1.将模块定义成类:对于公有变量可以直接获取或者修改。私有变量需要调用函数进行修改。
var _name;
var name = '';
var foo = function(name){
_name = name;
}
foo.prototype.GetName = function(){
return _name;
}
foo.prototype.SetName = function(){
_name = name;
}
foo.prototype.name = name;
module.exports = foo;
var foo = require('./foo.js');
var myfoo = new foo("Tom");//新建模块对象
console.log('获取修改前的私有变量值');
console.log(myfoo.GetName());//不输出任何值
console.log('修改私有变量值');
myfoo.SetName("Tom");
console.log('获取修改后的私有变量值');
console.log(myfoo.GetName());//输出Tom
console.log('获取修改前的公有变量值');
console.log(myfoo.name);//直接获取公有变量;
console.log('修改公有变量值');
myfoo.name = 'Bob'; //直接进行修改
console.log('获取修改后的公有变量值');
console.log(myfoo.name);//输出Bob