js中Function.prototype.apply是什么

犀牛前端部落 分类:面试题

apply调用一个函数,在调用时指定该函数的this或“owner”对象。

const details = {
  message: 'Hello World!'
};

function getMessage(){
  return this.message;
}

getMessage.apply(details); 

这个方法的工作原理类似Function.prototype.call。唯一的区别是传递参数的方式。在apply中,我们以数组的形式传递参数。

const person = {
  name: "Marko Polo"
};

function greeting(greetingMessage) {
  return `${greetingMessage} ${this.name}`;
}

greeting.apply(person, ['Hello']); // returns "Hello Marko Polo!"

该系列为面试题系列,俺的答案可能也存在瑕疵或不正确的地方,欢迎大家踊跃讨论。

回复

我来回复
  • 暂无回复内容