ES6允许使用 箭头(=>
) 声明函数。
let fu=(a,b)=>{
return a+b;
}
console.log(fu(1,2)); //3
箭头函数的特性
1.this是静态的,this始终指向函数声明时所在作用域下的this的值
function getName(){
console.log(this.name);
}
let getName2 = ()=>{
console.log(this.name);
}
window.name = "忆弥";
let school = {
name:"school内部的name属性"
}
// 直接调用
getName(); //忆弥
getName2(); //忆弥
// call方法调用 call方法可以改变函数内部this的指向
getName.call(school); //school内部的name属性
getName2.call(school); //忆弥
2.不能作为构造实例化对象
let person = (name,age)=>{
this.name = name;
this.age = age;
}
let per = new person("张三",18);
console.log(per); //报错
3.不能使用arguments变量
let fn = () =>{
console.lof(arguments);
}
fu(1,2,3);//报错
4.箭头函数的简写
4.1省略小括号—当形参有且只有一个的时候
let fn = a =>{
return a+a;
}
4.2省略大括号—当代码体只有一条语句的时候,此时,return必须省略,而且语句的执行结果就是函数的返回值
let le = a => a*a;
console.log(le(9));//81