call
、apply
和 bind
是 JavaScript 中用于改变函数执行时 this 指向的方法。
1. call
方法
call
方法允许你调用一个函数,并显式地指定函数内部的 this
值,同时可以传递参数。
语法:
JavaScript复制
function.call(thisArg, arg1, arg2, ...);
-
thisArg
:函数内部的this
值。 -
arg1, arg2, ...
:传递给函数的参数。
示例:
function greet(...message) {
console.log(`${message}, my name is ${this.name}`);
}const person = { name: "Alice" };
greet.call(person, "Hello","hi","嘻嘻"); // 输出: Hello,hi,嘻嘻, my name is Alice