Function

call()

  • 描述:修改函数的 this,并调用
  • 语法call(thisArg, ...args)
function sum(a, b) {
    return this.initValue + a + b
}
sum.call({ initValue: 100 }, 1, 2) // 103

apply()

  • 描述:修改函数的 this,并调用
  • 语法apply(thisArg, args)
function sum(a, b) {
    return this.initValue + a + b
}
sum.apply({ initValue: 100 }, [1, 2]) // 103

bind()

  • 描述:修改函数的 this,并返回该函数
  • 语法bind(thisArg, ...args)
function sum(a, b) {
    return this.initValue + a + b
}
let bindSum = sum.bind({ initValue: 100 })
bindSum(1, 2) // 103