// this call
// call能改变函数里面的this指向
let obj = {
num : 234;
}
function test() {
let num = 123;
console.log(this.num);
function a() {}
}
test.call(obj);
/*当调用call方法时,AO里面的this指向变为,this -- > obj ,也就是call()里面的第一个值,打印时是234而并非123,原理也就是通过call里面的第一个值(obj)调用前面被引用的(test)方法*/
// 1.预编译 this -- > window
/*
(1)test() -- > AO {
}
(2)找形参变量声明
test() -- > AO {
3. arguments : {}, //生成一个类数组
4. this : window
1. num : undefined,
2. a : function (){}
*/
// 2.谁调用的this指向谁
// 3.call apply 改变this指向
// 4.全局 this --> window
call是如何改变this指向的?
最新推荐文章于 2024-07-08 14:27:53 发布