前端 · 03/30/2021 0

Js中CALL APPLY BIND 区别

fn.Call (obj,ary1,ary2)

fn.apply(obj,[array])

函数fn被修改this指向obj携带参数不同,并执行fn.

fn.bind(obj,ary1,ary2)此时函数不会被调用而是反回了一个新函数。可以var newfn=fn.bind(obj);

newfn();

不用bind ()的时候可以在fn外让var that=this函数美使用that代替this。

bind ()很常用

call多用于继承函数子构造函数中father.call(this子函数,x,y)