apply、call、bind区别、用法
来源:互联网 发布:代码行估算法 编辑:程序博客网 时间:2024/05/05 12:37
bind主要是为了改变函数内部的this指向
应用场景1:
1、事件绑定
- var logger = {
- x: 0,
- updateCount: function(){
- this.x++;
- console.log(this.x);
- }
- }
- document.querySelector('button').addEventListener('click', function(){
- logger.updateCount();
- });
如何,这就是我之前说的,本来通常情况下处理函数都要用一层匿名函数包裹一下,才能维持处理函数本身的this.这里直接通过.bind(logger)人为的将其执行时的this指向logger对象。
.bind()创建了一个函数,当这个函数在被调用的时候,它的 this 关键词会被设置成被传入的值(这里指调用bind()时传入的参数)。
2、setTimeout.bind(对象)
把一个对象传入到sendtimeout对象里。settimeout里再使用this时,this就变成了这个对象。
具体区别 如下:
三者都是改变this的指向,
区别是bind不会立即执行,而call 与apply会立即执行
如果多次调用bind,那么多出来的次数都是无效的
0 0
- apply、call、bind区别、用法
- apply、call、bind区别、用法
- apply bind call区别
- apply call bind区别
- bind(),call(),apply()区别
- apply,call,bind总结用法
- call、apply 、bind的区别
- call,apply,bind的区别
- call、apply、bind的区别
- apply,call,bind的区别
- !!js中call、apply、bind的用法
- JavaScript:call,apply,bind的用法
- js中call、apply、bind的用法
- Javascript中bind、call、apply函数用法
- Javascript中bind、call、apply函数用法
- Javascript中call(),apply(),bind()的区别
- Javascript中apply、call、bind的区别
- apply, call, bind在js中的区别
- PAT乙级真题
- 7种R语言数据可视化
- listview嵌套scrollveiw冲突
- 【G】开源的分布式部署解决方案(一)
- iOS开发UIWebView高度自适应内容的正确姿势(已用于企业项目)
- apply、call、bind区别、用法
- PHP常用功能
- 知乎上的Magical Voxel教程
- 七、Hadoop 2.5.2+zookeeper高可用部署
- Yii连接多个库的问题
- 使用quercus在tomcat环境中运行php程序
- perl put 发送数据
- Android 性能优化 降低cpu和内存消耗之while循环
- Python中小错误 之 object() takes no parameters