js中Function.prototype.call是什么
分类:前端面试题
call方法调用一个函数,在调用时指定该函数的this或“owner”对象。
const details = {
message: 'Hello World!'
};
function getMessage(){
return this.message;
}
getMessage.call(details); // returns 'Hello World!'
这个方法的工作原理类似Function.prototype.apply。唯一不同的是我们传递参数的方式。在调用中,对于每个实参,直接传递用逗号分隔它们的参数。
const person = {
name: "Marko Polo"
};
function greeting(greetingMessage) {
return `${greetingMessage} ${this.name}`;
}
greeting.call(person, 'Hello'); // returns "Hello Marko Polo!"
该系列为面试题系列,俺的答案可能也存在瑕疵或不正确的地方,欢迎大家踊跃讨论。