全局中this指向module.exports。是一个空对象。
console.log(this);
console.log(module.exports);
console.log(this===module.exports);
如果你想添加属性,必须以this.xx或者module.exports.xx或者exports.xx的形式添加。
this.a=33 // 在全局中定义
console.log(this.a);
console.log(module.exports);
console.log(this===exports);
如果是在函数中this指向的是global对象,任何地方都可以访问,容易污染全局。
function bb(){
this.b=55
}
bb()
console.log(this.b);
console.log(global.b); // global是小写,大写报错。
如果是在构造函数中,this指向实例对象
function bb(){
this.b=55
}
let B = new bb()
console.log(this.b);
console.log(global.b);
console.log(B.b);