采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
{ const lives = 2; const cat = { lives: 1, jumps: () => { return this; } } console.log(cat.jumps()); } 为什么在浏览器环境中运行这段代码,this一直指向的是Window。一直理解不了这件事情!
会不会是因为箭头函数,箭头函数的取值是他上级作用域,在执行的时候cat的上级作用域就是window?
对呀,就是这个原因啊。
刚看完一遍,迷迷糊糊的不敢确认??谢谢老师解惑
他的上级作用域不应该是外面那个大括号里面吗?怎么一直取不到lives的值,然后我在外面又包裹了一层function(){}也还是一样的结果?
登录后可查看更多问答,登录/注册
BAT高级前端工程师亲授,结合真实面试题,提高面试成功几率
945 19
933 17
1.1k 11
1.1k 10
1.0k 10