ECMAScript中的箭头函数 (=>) 使用注意事项
箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this,arguments,super或 new.target。这些函数表达式更适用于那些本来需要匿名函数的地方,并且它们不能用作构造函数。
箭头函数的形式:
var multiply = (a,b) => a*b;
console.log(multiply(1,2)); // 2
使用时要注意的点:
1. 函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。即箭头函数能够获得外围上下文的this值。
例如:
page({
A:function(){
wx.login({
success:function(res){
console.log(this) // 此情况下 this = wx.login
}
})
},
B:funnction(){
wx.login({
success:res=>{
console.log(this) //此情况下 this = Page
}
})
}
})
2. 箭头函数可以嵌套
3. 不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误
4. 不可以使用arguments对象,该对象在函数体内不存在,如果要用,可以用rest参数代替
5. 不可以使用yield命令,因此箭头函数不能用作Generator函数
建议:
1. 能使用箭头函数的地方,不使用Function定义
2. 函数的success,fail,complete回调用箭头函数
3. 除了Page,App的生命周期使用function定义,其他都使用箭头函数
最新文章
- 千呼万唤始出来:Apache Spark2.0正式发布
- Windows_CMD_临时环境变量
- python2.7中使用mysql (windows XP)
- Git系列(1) Windows下Git服务器搭建
- jsPlumb开发入门教程(实现html5拖拽连线)
- 关于Jaccard相似度在竞品分析中的一点思考
- 使用document.execCommand复制内容至剪贴板
- CodeM资格赛 Round A 最长树链
- Unity中UGUI鼠标穿透UI问题的解决方法
- java 调用 linux 命令行 +使用管道、awk等命令进行数据处理的方法
- Pascal's Triangle leetcode java(杨辉三角)
- JS-缓冲运动-对联型悬浮框
- 错误:maximum number of expressions in a list is 1000
- [BZOJ2738]矩阵乘法-[整体二分+树状数组]
- laravel5.1 eloquent with 通过闭包筛选特定 field 得不到结果的问题
- kettle部分传输场景应用(每个作业都实验过啦)
- websphere部署中文乱码问题
- android 反汇编一些资料
- 百度Ueditor编辑器取消多图上传对话框中的图片搜索
- POJ2349 Arctic Network(Prim)