2020 3.2

1.call apply bind()相同点和不同点

相同点 都可以改变this的指向

不同点 没有参数的情况下

call 改变谁直接打. 调用 person.getAge.call(person1)

apply 改变谁直接打. 调用 person.getAge.apply(person2)

bind()需要加小括号()才能调用person.getAge.bind(person3)()

有参数的情况下

call方法应该将要传的参数一一写出,写成数组则会认为是只传递了一个参数

apply方法要传递的参数要写成数组形式,如果一一列出用逗号隔开,则会报错

bind的参数与call方法一样,一一列出,写成数组被认为只传递了一个参数,必须在后加小括号执行调用

this的四个绑定方式

1.直接绑定方式(默认绑定方式) 优先级别最低 2.隐士绑定方式

3.显示绑定方式 利用call apply bind() 改变this指向

4.new的绑定方式 new的绑定方式>显示绑定方式>隐士绑定方式>默认绑定方式 在隐士绑定方式中,出现连续性的对象方法操作时,this采用就近原则

声明:该文章系转载,转载该文章的目的在于更广泛的传递信息,并不代表本网站赞同其观点,文章内容仅供参考。

本站是一个个人学习和交流平台,网站上部分文章为网站管理员和网友从相关媒体转载而来,并不用于任何商业目的,内容为作者个人观点, 并不代表本网站赞同其观点和对其真实性负责。

我们已经尽可能的对作者和来源进行了通告,但是可能由于能力有限或疏忽,导致作者和来源有误,亦可能您并不期望您的作品在我们的网站上发布。我们为这些问题向您致歉,如果您在我站上发现此类问题,请及时联系我们,我们将根据您的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。