ES6语法——箭头函数
//变身之前:
let fn = function(a,b){
return a + b
}
//变身之后:
let fn = (a,b) => { return a + b }
//调用
console.log(fn(1,2))===>3
//1.this是静态的,this始终指向函数声明时所在作用域下的this的值
function getAge(){
console.log(this.age)
}
let getAge0(){
console.log(this.age)
}
//设置windows对象的age属性
window.age='18';
const a = {
age:'20'
}
//直接调用
getAge() ===> 18
getAge0() ===> 18
//call方法调用
getAge.call(a); ===> 20
getAge0.call(a); ===> 18
//2.不能作为构造实例化对象
let Person = (name,age) => {
this.name=name;
this.age=age
}
let me = new Person('Ab',18)
console.log(me) ===> 报错
//3.不能使用arguments变量
let fn = () {
console.log(arguments)
}
fn(1,2,3) ===> 报错
//4.箭头函数再简写
1)省略小括号,当形参有且只有一个的时候
let add = n => {
return n+n
}
console.log(add(1)) ===> 2
2)省略花括号,当代码体只有一条语句的时候,此时return必须省略,而且语句的执行结果就是函数的返回值
let pow = n => n*n
console.log(pow(5)) ===> 25