箭头函数
箭头函数
箭头函数就是把function去掉,在小括号后面加=>
((a, b) => {
console.log(a, b);
console.log('我是箭头函数');
})(1, 2)
let demo = () => {
console.log('我是箭头函数');
}
demo()
箭头函数的特点
1、如果有一个参数可以省略小括号
2、如果函数返回值只有一条语句,可以省略{}和return
3、箭头函数没有augrments内置对象
4、箭头函数不能用于创建构造函数
5、箭头函数没有prototype属性
6、call,apply可以调用箭头函数,但是不能改变this指向
7、箭头函数的this指向父作用域,(调用它的地方)
1、如果有一个参数可以省略小括号
let demo_1 = x => {
console.log(x);
}
demo_1(1)
2、如果函数返回值只有一条语句,可以省略{}和return
let demo_2 = x => x
console.log(demo_2(1));
3、箭头函数没有augrments内置对象
let demo_3 = () => {
console.log(argumenys);
}
demo_3()
4、箭头函数不能用于创建构造函数
let Person = function () {
console.log('1');
}
let p1 = new Person()
console.log(p1);
let Person_1 = () => {
}
let p2 = new Person_1()
console.log(p2);//报错:rson_1 is not a constructor
5、箭头函数没有prototype属性
6、call,apply可以调用箭头函数,但是不能改变this指向
箭头函数的应用
箭头函数的this指向父作用域,(调用它的地方)
/*
箭头函数的this指向父作用域,(调用它的地方)
*/
var obj = {
say: () => {
console.log(this);
// console.log(this);
// var demo = function () {
// console.log(this);
// }
var demo = () => {
console.log(this);
}
demo()
}
}
obj.say()
var obj = {
birth: 1990,
getAge: function () {
// new Date().getFullYear() 2023
console.log(new Date().getFullYear() - this.birth);
},
}
obj.getAge();
var birth = 2000
var obj = {
birth: 1990,
getAge: () => {
var fn = () => {
return new Date().getFullYear() - this.birth;
};
return fn();
}
};
console.log(obj.getAge()); // 33