箭头函数寻找
var user = "小花";
const obj = {
user: "小兰",
fn2() {
console.log("fn2", this.user);
},
};
const obj2 = {
// 只有函数才有自己的作用域
user: "小白",
fn3: () => {
// this===window
console.log("fn3", this.user);
},
};
// 箭头函数没有自己的this,
// 他会上下文中找this , 箭头函数的this定义的时候就固定不变了
const fn2 = () => {
console.log("fn2", this.user);
};
fn2(); //小花
fn2.call(obj); //小花
obj2.fn3(); //小花
const xxx = obj2.fn3(); //小花
obj2.fn3.call(obj); //小花
多层嵌套
const x1 = () => {
this.user = "小绿";
// this===window user=小绿
console.log("x1", this.user);
const x2 = () => {
console.log("x2", this.user);
const x3 = () => {
console.log("x3", this.user);
};
x3(); //小绿
};
// x3(); x2调用的时候x3才被定义 //undefined
x2(); //小绿
};
x1(); //小绿