call apply bind 的区别,this的四种绑定方式

1. apply()中有两个参数,不一定是必填项,当第一个参数什么都不填或则是null/undefined,默认为window

第二个参数必须是数组,数组中的元素和函数的参数对应

Call怎么使用
用途,用于修改函数中的this指向 也是函数ming.call(),执行的元素先替换函数中的this,然后再执行这个函数

Call中参数的分析
1. call函数的第一个参数是什么,函数中this就换成什么,当不填或null/undefined,里面的this就是window
2. 从第二参数开始,跟函数的形参要一一对应

Bind的使用
Bind的使用,不是用在执行的时候,而是用再函数定义的时候,只有一个参数,用于替换this的。

总结this
函数中的this有四种绑定方式
函数中的this指向当前函数所处的生存环境,谁调用了它,this就指向谁。
Js中给我们提供了四种绑定方式用于修改this
1.直接绑定方式(默认绑定方式)优先级最低
针对普通的函数,this就是window(只要函数调用的时候前面没有带.)

2.隐式绑定方式 当作对象方法来调用(这个函数在调用的时候前面带.了) 它的优先级比直接绑定高一些

注意:出现连续性的对象方法操作,this采用就近原则。

this是obj对象也行,说是o.oo对象也行,二者指向的内存地址是一样的。
3. 显示绑定,apply call bind的绑定方式
已讲 看上面的笔记
4,new 的绑定方式。
New帮定的优先级>显示绑定>隐式绑定>直接绑定

猜你喜欢

转载自www.cnblogs.com/zhangyuxinxin/p/12397537.html