今天开始学习微信小程序了,昨晚提前看了一些,感觉相比Vue好理解许多,可能是因为学了Vue的缘故吧。
看到了箭头函数和普通函数的区别,突然发现脑子里没有这个概念,只能想出好像不用写this就能调用数据还是什么,也不知道该怎么说,趁午休时间来查一下。
箭头函数
引入箭头函数的作用
- 更简短的函数并且不绑定this。
这也是肉眼可见的区别
//普通函数
function funcName(params) {
return params + 2;
}
funcName(2);//4
//箭头函数
var funcName = (params) => params + 2
funcName(2);// 4
连大括弧都省了
第一次接触时只是感受到少写了个function,取而代之的是 => 这样一个箭头,看上去好像简洁了许多,当时讲的时候给我的印象也只有可以不使用this(刚才简单的看了下文章感觉还是只有这点印象)
再仔细看一下
- 箭头函数看上去只是语法的变动,其实也影响了this的作用域。
这段应该也有理解,大概就是用了箭头函数可以更方便的摸到本应该摸到的地方(好像有点绕,基本知识还是不够扎实)
没有局部this的绑定
- 箭头函数不会绑定this。 或则说箭头函数不会改变this本来的绑定。
- 箭头函数不会创建自己的this,它只会从自己的作用域链的上一层继承this。
- 箭头函数不绑定Arguments 对象。
这里面有很多箭头函数的属性和要注意的地方,不过很多地方我还看不懂
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions
再做几句从网上看到的摘抄
- 使用箭头函数就不会导致this被绑定到全局对象。
参考文章
转载时请注明作者 Fundebug以及本文地址:
https://blog.fundebug.com/2017/05/25/arrow-function-for-beginner/
里面有有关测试this绑定指向的代码