1 箭头函数函数中的this引用的就是最近作用域中的this。
2 箭头函数中的this是如何查找的呢?
它是一层一层的向外层作用域查找,直到有this的定义。
3 function函数在调用的时候是通过call函数会传过来一个window(作为第一个参数)。
4 a函数在obj对象里定义,那么函数用的this就是指的obj对象,a函数里面定义的b函数中的this向外查找到的作用域是a,而a中this指向的就是obj。
5 带function的指向都是this,使用箭头的指向的是调用对象,
例子:
// 箭头函数是定义函数的一种方式
// 1 定义函数的方式 :function
const aaa = function(){
}
// 2 对象自变量中定义函数
const obj = {
bbb:function(){},
//或者
ccc(){}
}
// 3 es6中的箭头函数
const ddd =(参数列表)=>{}
// 箭头函数改写1中aaa,
//无参
const aaa2 = ()=>{}
//
```java
函数箭头参数
//参数问题
// 两个参数
const num = (num1,num2)=>{
return num1 + num2
}
// 一个参数,可省括号
const power = num =>{
return num * num
}
// 返回值问题
// 1 函数中只有一行代码,可省略大括号,结果直接return返回
const mul = (num1,num2)=> num1*num2
在这里插入代码片
```this的使用
const obj = {
aaa() {
setTimeout(function () {
setTimeout(function () {
console.log(this)//z这种格式肯定是window
})
this// this是指向window的
setTimeout(() => { console.log(this) }) //window
})
setTimeout(() => {
setTimeout(function () {
console.log(this)//这种格式肯定window
})
setTimeout(() => { console.log(this) })//obj
})
},
}