apply、call和bind的简单学习

它们均可以改变this指向

apply和call简单的说都是一样的东西,只是参数不同

obj.Fun.call(nd);   
obj.Fun.apply(nd); 

其中call可以传多个参数,apply只能传两个参数

obj.Fun.call(nd,xx,xx);   
obj.Fun.apply(nd,[xx,xx]); 

bind 返回的是一个新的函数,必须调用它才会被执行

obj.Fun.bind(nd)();
obj.Fun.bind(nd,xx,xx)();

相关推荐