const name1 = {name:'name1'}
const name2 = {name:'name2'}
const name3 = {name:'name3'}
const name4 = {name:'name4'}
func (age) {
console.log(this.name)
console.log(age)
}
func(22) //空 22
func.call(name1,22) //name1 22
func.apply(name2,[22]) //name2 22
func.bind(name3,22)() //name3 22
const newFunc = func.bind(name3,22)
newFunc() //name3 22
name4.f = f
name4.f(22) //name4 22
call
f.call(要绑定的对象,参数1 ,参数2)
call带参数直接用逗号隔开即可
apply
f.call(要绑定的对象,[参数1,参数2])
apply 带参数要用数组形式
bind
f.bind(要绑定的对象,参数1,参数2)
bind会创建一个新的函数,可以理解为 obj.f()