JavaScript学习之路10_箭头函数
2015-11-24 18:48
615 查看
箭头函数
什么是箭头函数?暂时理解:箭头函数相当于匿名函数。
箭头函数的格式:
x => x * x
这就相当于
function(x){ return x*x; }
不过这种适合在无参的情况下使用,他省略了{ … }和return
如果有一个参数:
(x) => { if(x > 0){ return x*x; }else{ return -x*x; } }
如果有两个参数:
(x, y) => { return x+y; }
还可以是可变参数:
(x,y, ...fun) => { var i, sum = x + y; for(i=0; i<fun.length; i++){ sum += fun[i]; } return sum; }
如果返回的是一个对象:
(x) => ({ foo:x })
必须要带上圆括号。
this
this总是指向词法作用域,也就是外层调用者obj。var obj = { birth:1994, getAge: functin(year){ var b = this.birth;//1994 var fn = (y) => y-this.birth; retrn fn.call({birth:2000}, year); } }
obj.getAge(2015); //21 不是15
原因:
由于this在箭头函数中已经按照词法作用域绑定了,所以,用call()或者apply()调用箭头函数时,无法对this进行绑定,即传入的第一个参数被忽略.
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享
- 如何创建对象以及jQuery中创建对象的方式
- IE8开发人员工具教程(二)
- 在flex中执行一个javascript方法的简单方式