码迷,mamicode.com
首页 > 其他好文 > 详细

箭头函数this指向

时间:2019-02-15 13:12:52      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:UNC   cti   return   this   apply   win   不能   class   OLE   

1. cat.jumps

1 var cat = {
2       lives: 9,
3       jumps: function() {
4         this.lives--
5       }
6     }
7     cat.jumps()
8     cat.jumps()
9     console.log(cat.lives)

打印结果为: 7

使用箭头函数

1 var cat = {
2       lives: 9,
3       jumps: () => this.lives--
4     }
5     cat.jumps()
6     cat.jumps()
7     console.log(cat.lives)

打印结果为9

2. call apply bind扔不能改变this指向

1  window.color = ‘red‘
2     let color = ‘green‘
3     let obj = {
4       color: ‘blue‘
5     }
6     let sayColor = function() {
7       return this.color
8     }
9     console.log(sayColor.call(obj))

打印结果为blue;

使用箭头函数:

1 window.color = ‘red‘
2     let color = ‘green‘
3     let obj = {
4       color: ‘blue‘
5     }
6     let sayColor = () => this.color
7 
8     console.log(sayColor.call(obj))

打印结果为: red;

由于箭头函数没有自己的this,所以当然也就不能用call()apply()bind()这些方法去改变this的指向。

 

箭头函数this指向

标签:UNC   cti   return   this   apply   win   不能   class   OLE   

原文地址:https://www.cnblogs.com/codejoker/p/10382966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!