箭头函数及this的四种情况
一、箭头函数
// 含有两个参数
const sum = (num1,num2) => {
return num1 + num2
}
// 含有一个参数
const sum1 = (num1) => {
return num1 * num1
}
// 其中,小括号可以省略掉
const sum2 = num1 => {
return num1 * num1
}
// 当函数代码中只有一行代码
const mul = (num1,num2) => num1 * num2;
console.log(mul(20,30))
const demo = () => console.log('Hello Demo')
demo();
备注:箭头函数的this是如何查找的?
答:向外层作用域中,一层层查找this,直到有this的定义。
1.当在函数调用的时候指向window;
2.当方法调用的时候指向调用对象;
3.当用apply和call上下文调用的时候指向传入的第一个参数;
4.。构造函数调用指向实例对象
总结:如果是用new方式创建对象,this指向新建的那个对象;
如果只是普通的调用,谁调用这个函数,函数里的this就指向谁。