声明和特点
声明
let fn = function(){ };
let fn2= (a,b)=>{
return a+b;
}
特点
1.this是静态的,this始终指向声明时所在作用域下的值
function getName(){
console.log(this.name);
}
let getName2 = ()=>{
console.log(this.name);
}
window.name ='java';
const school = {
name:'js'
}
// 直接调用
getName();//java
getName2();//java
// call调用
getName.call(school);
getName2.call(school);
2.不能作为构造函数实例化对象
3.不能使用arguments变量
4.箭头函数的简写
(1)省略小括号,当参数有且仅有一个时
let add = (n)=>{
return n+n;
}
// 简写
let add = n=>{
return n+n;
}
// (2)省略花括号,当代码体有且只有一行语句时,return也必须省略,
// 而且语句的执行结果就是函数的返回值
// let pow = (n)=>{
// return n*n;
// }
// 简写
let pow = (n)=>n*n;
使用场景
箭头函数适合与this无关的回调,定时器,数组的方法回调
箭头函数不适合与this有关的回调,事件回调,对象的方法
网友评论