关于JavaScript中的箭头函数
如果你去面试前端开发人员,有一些基本问题如箭头函数的用法,它跟普通函数有什么区别,还有一个问题是什么时候用that和this,其实这两个问题是有关联的,箭头函数的出现解决了var that = this
这种看起来很聪明,其实现在看很sd的写法
that和this的区别
在箭头函数没有出来之前,js中需要这么写,这里涉及到了一个作用域的问题,this的作用域是其外层的obj,什么意思,以微信小程序为例,一个page的js代码就是一个page对象,里面有data对象,还有各种方法,如果在onLoad函数里面调用data里面定义的变量,就用var i = this.data.index
这种形式,但是如果在onLoad方法里面还有一个方法,如果你这么写是无法获取index的值得,因为此时的this指针的对象是onLoad方法,而不是page了,这里有两种方法获取,一种就是定义一个that来临时保存作用域为page,这样在方法中使用var i = that.data.index
可以获得data里面的变量值,这只是一种写法
箭头函数作用
如上文所述,还有一种写法就是利用箭头函数,箭头函数中的作用域就是page,也就是最外层的obj,如果用箭头函数直接写var i = this.data.index
可以获得data里面的变量值,我写了一个简单的函数来解释三者之间的关系。