Javascript通过bind()掌控this
2015-10-23 15:16
423 查看
Javascript通过bind()掌控this: http://blog.csdn.net/rznice/article/details/26134201
bind能为我们做些什么,同时它的好处在哪里。
(一)事件处理函数
所谓的事件处理函数其实就是绑定事件后的那个callback,这里如果用上bind你的代码应该会简洁优雅一些
// 下面两段代码的实现是一样的
本来通常情况下处理函数都要用一层匿名函数包裹一下,才能维持处理函数本身的this.这里直接通过.bind(logger)人为的将其执行时的this指向logger对象。
.bind()创建了一个函数,当这个函数在被调用的时候,它的 this 关键词会被设置成被传入的值(这里指调用bind()时传入的参数)。
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()时传入的参数)。
相关文章推荐
- js行号显示的文本框实现效果(兼容多种浏览器 )
- javascript
- JSP简单的练习-用户登记表
- a href=#与 a href=javascript:void(0) 的区别
- 异步JavaScript的进化
- js中对函数设置默认参数值的3种方法
- javaScript 中的 || 运算符的技巧
- js窗口关闭提示信息(兼容IE和firefox)
- Json format to send notification from Parse
- 19+ JavaScript Shorthand Coding Techniques
- js输出0-10000的对称数字
- js数组操作总结
- JS系统时间显示
- javascript贪吃蛇小游戏
- js特效——闪电
- HTML5(javascript) Audio/video标签属性常用方法
- js中关于get请求(包括异步以及直接用过网页连接请求),后台接收乱码问题
- 文章标题
- JSON的用法
- js基础-表单验证和提交