为了账号安全,请及时绑定邮箱和手机立即绑定

5-1章节为什么不缓存this的话,this就指window对象?

checkAll:function () {
   this.checkAllFlag=!this.checkAllFlag
   var _this=this;
   this.list.forEach(function (item,index) {
       console.log(this);//打印window?
       if(typeof  item.checked ==="undefined"){
           _this.$set(item,"checked",_this.checkAllFlag)
       }else{
           item.checked=_this.checkAllFlag
       }
   })
}



正在回答

1 回答

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

根据以上对forEach()方法的说明中,forEach()有两个参数,第一个是回调函数callback;

第二个参数是可选参数,指的是之前传入的回调函数中的this值,如果不传值,默认为undefined,但this为什么是window而不是undefined呢?

重点来了    根据ECMAScript规范,在非严格模式下  当一个函数进入进入上下文时  如果this值为undefined 将自动改变为window。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
使用vue2.0实现购物车和地址选配功能
  • 参与学习       96865    人
  • 解答问题       446    个

本视频教程结合案例完整贯穿各个知识点,轻松玩转vue2.0框架

进入课程

5-1章节为什么不缓存this的话,this就指window对象?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信