这里的this为什么不是22,this不是跳过一层吗

这里的this为什么不是22,this不是跳过一层吗

var x = 11;
var obj = {
x: 22,
methods: {
x: 33,
say2: () => { console.log(this.x) }
}
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕码 2019-09-15 09:46:59

同学你好!

不是的哦,这里的this指向的是window,可以打印看下:

http://img1.sycdn.imooc.com//climg/5d7d97da091c925f04060101.jpg

http://img1.sycdn.imooc.com//climg/5d7d97fb0915700f03870075.jpg

如果帮助到了你,欢迎采纳,祝学习愉快~

卡布琦诺 2019-09-14 15:23:57

不是很理解同学说的“this不是跳过一层"是什么意思,在ES6箭头函数中,箭头函数没有自己的作用域,箭头函数指向的是箭头函数所处在位置的对象

希望可以帮到你!

  • 提问者 PHXL #1
    我的意思是属性如果是一个对象,那么箭头函数在这个属性对象中,它的this指向所处位置的对象,不就是外层的obj对象吗
    2019-09-15 09:17:50
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
热门框架Vue开发WebApp 18版
  • 参与学习           人
  • 提交作业       209    份
  • 解答问题       3299    个

本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师