小熙在此,先废话不说了,直接贴代码吧~~

相信了解过this的码农们,应该都知道,匿名函数中,this指针会指向全局,即window对象。

oo.getNameFunc()运行后,返回一个匿名函数,这时,匿名函数中this指向了全局window。

我们采用call方法,将匿名函数的this指针,指向call中第一个参数, oo.getNameFunc().call(oo),即oo,并且,自动运行匿名函数,因此,我们得到了,"oo"。

我们采用bind方法,将匿名函数中是this指针,指向bind中的第一个参数。 oo.getNameFunc().bind(oo),这时,this指针指向了oo对象,但是,请小伙伴们记住啦,这时候,匿名函数没有自动运行哦,需要再加一对()方可运行函数这是跟call方法的区别。call方法是自动运行的。

看到这里,小伙伴们应该都晓得两者的区别了吧~~

如哪里有不懂的小伙伴们,欢迎留言~~