一.箭头函数
1.使用规则
参数 => 语句、返回值
(1)如果函数体只有一句话,那么可以不用加花括号和return
function foo(x){
return x*x;
}
等同于以下
let foo = x=>x*x;
(2)不需要传入参数的话,需要写一个小括号
let foo = ()=>6;
console.log(foo());
-->输出6
(3)既有参数,函数体又不止一句话时,要加上花括号。如果有两个或两个以上的参数,就必须加括号
let foo = (x,y) => {
x++;
y++;
return x*y;
}
2.参数默认值
function foo(x,y){
y = y || 1;
return x*y;
}
console.log(foo(6,0));
-->仍然输出6,因为将0判断为false了
let foo = (x = 1, y = 1)=>{
return x*y;
}
foo(6,0);
-->输出0
3. this:this指向的是定义函数所在的对象,不再是运行时所在的对象
- this指向window
var id = 10;
let json = {
id:1;
show:function(){
setTimeout(function(){
alert(this,id);
},2000);
}
};
--->输出10
- this指向所在的json对象
var id = 10;
let json = {
id:1;
show:function(){
setTimeout(()=>{
alert(this,id);
},2000);
}
};
--->输出1
4.箭头函数里没有arguments,用剩余参数“...”
let show = (...args)=>{
console.log(args);
}
show(1,2,3,4,5);
网友评论