您的位置:首页 > Web前端 > JavaScript

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进行绑定,即传入的第一个参数被忽略.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript