三. js的this指向试题
let a={name:'hhh'};
function fn(a){
a={};
}
fn(a);
console.log(a);
// {name: 'hhh'} // 注意函数作用域与全局作用域的不同
// fn(a) 意味着是 fn(a).call(window) , 如果是 this.a 的话,
// 肯定是 {name:'hhh'} ,但是fn函数里面是形参a,所以那个a和全局作用域的a没有任何关系
var name='js';
var person={
name:'person'
};
var obj={
name:'java',
fn:()=>{
console.log(this.name);
}
}
obj.fn.call(person); // 普通function函数的 隐式绑定,显示绑定,构造函数绑定对箭头函数都不生效,箭头函数只找他定义时的this
// js
欢迎交流