码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2020-03-02 20:46:29      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:方法   bin   call()   参数   开始   bsp   使用   一个   没有   

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帮定的优先级>显示绑定>隐式绑定>直接绑定

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

标签:方法   bin   call()   参数   开始   bsp   使用   一个   没有   

原文地址:https://www.cnblogs.com/zhangyuxinxin/p/12397537.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!