#修改 this 指向#
修改 this 指向
https://www.nowcoder.com/practice/a616b3de81b948fda9a92db7e86bd171?tpId=2&&tqId=10851&rp=1&ru=/ta/front-end&qru=/ta/front-end/question-ranking
call()、bind()、apply()的用法,改变this的指向,区别在于
f.call(obj, arg1, arg2...), 需要(...argements)解构传递参数
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) }