call/apply和 bind
call
接受多个参数,第一个参数表示 this 的指向,后面的多个参数都是传参
function person(name, age) {
console.log(`my name is ${name} age is ${age}`);
}
person.call(this, '大海', 18);
apply
接受两个参数,第一个参数表示 this 的指向,第二个参数为数组
function person(name, age) {
console.log(`my name is ${name} age is ${age}`);
}
person.apply(this, ['大海', 18]);
bind
和 call 接受的参数一致,只是 bind会返回一个新的函数
function person(name, age) {
console.log(`my name is ${name} age is ${age}`);
}
let ocean = person.bind(this, '大海', 18);
ocean();
本文作者:大海&
本文链接:https://www.cnblogs.com/oceanus/p/17699780.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。