JavaScript运行程序运行时绑定this并且传递参数,具体可以调用call方法
function say(phrase) {
alert(this.name + ': ' + phrase);
}
let user = { name: "John" };
// user becomes this, and "Hello" becomes the first argument
say.call( user, "Hello" ); // John: Hello
和call类似还有一个apply方法也可以调用,只不过传参的时候略有不同,apply可以传递一个参数数组,而call需要用展开的语法传递多个参数
func.call(context, ...args);
func.apply(context, args);