博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javascript通过bind()掌控this
阅读量:4317 次
发布时间:2019-06-06

本文共 680 字,大约阅读时间需要 2 分钟。

Javascript通过bind()掌控this: 

bind能为我们做些什么,同时它的好处在哪里。

(一)事件处理函数

    所谓的事件处理函数其实就是绑定事件后的那个callback,这里如果用上bind你的代码应该会简洁优雅一些

var logger = {          x: 0,                 updateCount: function(){              this.x++;              console.log(this.x);          }      }

 // 下面两段代码的实现是一样的

document.querySelector('button').addEventListener('click', function(){      logger.updateCount();  });

 

document.querySelector('button').addEventListener('click', logger.updateCount.bind(logger));

    本来通常情况下处理函数都要用一层匿名函数包裹一下,才能维持处理函数本身的this.这里直接通过.bind(logger)人为的将其执行时的this指向logger对象。

    .bind()创建了一个函数,当这个函数在被调用的时候,它的 this 关键词会被设置成被传入的值(这里指调用bind()时传入的参数)。

 

转载于:https://www.cnblogs.com/zhuiluoyu/p/4904621.html

你可能感兴趣的文章
前端模块化:RequireJS(转)
查看>>
应用程序缓存的应用(摘抄)
查看>>
jQuery基础知识,很赞的!!!
查看>>
[Codevs] 线段树练习5
查看>>
Amazon
查看>>
component-based scene model
查看>>
Echart输出图形
查看>>
hMailServer搭建简单邮件系统
查看>>
从零开始学习jQuery
查看>>
Spring+SpringMVC+MyBatis深入学习及搭建(四)——MyBatis输入映射与输出映射
查看>>
opacity半透明兼容ie8。。。。ie8半透明
查看>>
CDOJ_24 八球胜负
查看>>
Alpha 冲刺 (7/10)
查看>>
一款jQuery打造的具有多功能切换的幻灯片特效
查看>>
SNMP从入门到开发:进阶篇
查看>>
@ServletComponentScan ,@ComponentScan,@Configuration 解析
查看>>
unity3d 射弹基础案例代码分析
查看>>
thinksns 分页数据
查看>>
os模块
查看>>
LINQ to SQL vs. NHibernate
查看>>