'this'和普通变量声明之间的区别

时间:2018-06-21 09:07:14

标签: javascript function this

在函数中使用this声明变量与正常使用letvar声明变量有什么区别?

const controller = (function() {
  this.name = 'John';
})();

const controller2 = (function() {
  let name = 'Mary';
})();

1 个答案:

答案 0 :(得分:3)

函数内部的

thiswindow对象。因此,您没有创建变量,而是向窗口对象添加了一个属性

console.log((function(){return this})() === window)