下划线的bindAll()方法

时间:2015-06-18 06:01:13

标签: javascript underscore.js this-keyword

underscore文档中,bindAll方法执行以下操作:

_.bindAll(object, *methodNames) // syntax

var buttonView = {
  label  : 'underscore',
  onClick: function(){ alert('clicked: ' + this.label); },
  onHover: function(){ console.log('hovering: ' + this.label); }
};
_.bindAll(buttonView, 'onClick', 'onHover');
// When the button is clicked, this.label will have the correct value.
jQuery('#underscore_button').bind('click', buttonView.onClick);

现在,bindAll()方法将对象的多个方法绑定,由methodNames指定,只要调用它们,就可以在该对象的上下文中运行。现在真的有必要在上面的例子中调用bindAll()吗?

我认为调用buttonView.onClick会自动将this关键字绑定到buttonView不是吗?

0 个答案:

没有答案