亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述call applybind 的区别,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采用就近原则。
【call applybind 的区别,this的四种绑定方式】 this是obj对象也行,说是o.oo对象也行,二者指向的内存地址是一样的。
3.显示绑定,apply call bind的绑定方式
已讲 看上面的笔记
4,new 的绑定方式。
New帮定的优先级>
显示绑定>
隐式绑定>
直接绑定
推荐阅读
- android中简单便捷使用GreenDao本地数据库及采坑之路
- happen-before原则的理解
- Android Studio学习路程(13)
- Project facet Cloud Foundry Standalone Application version 1.0 is not supported
- 修改Android Studio新建工程时repositories的默认配置
- Android系统研究资料收集---站在前人的肩膀上
- iTunes Connect后台无法创建App的解决方案
- SAP BSP, Java Web Project,Android和微信小程序的初始页面设置
- Android studio 开发app页面去除顶部原有项目标题框框