箭头函数this的指向及其改变
箭头函数中的this是函数外最近的那个this
apply、call方法其实并不会起作用。
var str = 'window';
const obj = {
str:'obj',
fn: ()=>{
console.log(this.str);
},
fn2: function(){
console.log(this.str, '当前词法作用域中的this');
return {
str: '我是fn2中的Obj 箭头函数的this是指向上一级的',
fn: ()=>{
console.log(this.str);
}
}
}
};
obj.newFn = ()=>{
console.log(this.str);
};
obj.fn2(); //打印 obj 当前词法作用域中的this
obj.fn();//打印window
obj.newFn(); // 指向上一级的str 打印 window
var newObj = obj.fn2();
newObj.fn();//指向fn2()属性的上一级 即对象obj 打印obj的str即打印obj
633

被折叠的 条评论
为什么被折叠?



