call()、bind()、apply(),可改变this的指向。
f.call(obj, arg1, arg2...)
f.bind(obj, arg1, arg2,...)()
f.apply(obj, [arg1, arg2, .])
apply
function bindThis(f, oTarget) {
return function() {
return f.apply(oTarget, arguments)
}
}
call
function bindThis(f, oTarget) {
return function() {
return f.call(oTarget, ...arguments)
}
}
bind
function bindThis(f, oTarget) {
return f.bind(oTarget)
}