作用:调用这个函数时可以修改函数运行时的this指向
一、call()语法
fun.call(thisArg,arg1,arg2,....)
thisArg: 当前调用函数this的指向对象
arg1,arg2: 传递的其他参数
二、使用步骤
1.call()可以调用函数
代码如下(示例):
function fn(x, y) {
console.log('你正在敲代码啊')
console.log(this);
console.log(`x+y=${x + y}`)
}
fn();
//1.call() 可以实现调用函数
fn.call()//实现调用函数
执行结果:
2.实现改变这个函数this的指向
代码如下(示例):
function fn(x, y) {
console.log('你正在敲代码啊')
console.log(this);//没有函数调用此函数时 this指向的是window
console.log(`x+y=${x + y}`)
}
var obj = {
name: '小瓶盖'
}
//2.call()可以实现改变这个函数的this指向 此时这个函数的this 就指向obj
fn.call(obj, 1, 2)//相当于obj调用了fn()函数 所以此时fn()中的this指向了obj