使用angularjs forEach的this.key和this [key]之间的区别

bad*_*oui 0 javascript angularjs

我正在使用forEach函数循环一个简单的对象,我将对象作为上下文传递.

当我尝试使用this[key]它来访问一个对象属性但是this.key不起作用时,有人可以告诉我们它为什么会这样做吗?

var calendar =  {
        moveAll: false,
        moveSingleDay: false,
        translateRange : false
}

angular.forEach(calendar, function(val, key){
      console.log(this[key]); // returns val
      console.log(this.key); // returns undefined
}, calendar);
Run Code Online (Sandbox Code Playgroud)

fre*_*ish 5

this.key相当于this['key'].