下划线绑定:返回函数

时间:2015-06-08 05:51:11

标签: javascript

onPlayerStateChange: function() {
  return _.bind(function (event) {
    var player = event.target;
    if (event.data == YT.PlayerState.PLAYING) {
      this.trigger("playing");
  }, this);
},

以上代码是我的最终版本,效果很好。但是,我不是100%肯定为什么

onPlayerStateChange: _.bind(function (event) { // <-- Missing 'function', 'return' keywords
    var player = event.target;
    if (event.data == YT.PlayerState.PLAYING) {
      this.trigger("playing");
  }, this);
},

这不起作用。看起来_.bind函数本身在调用onPlayerStateChange时运行。但是,我想要的是_.bind函数返回的函数来运行。有人可以详细说明这两个版本之间的细微差别吗?

1 个答案:

答案 0 :(得分:0)

你错过了你的结束括号。这应该有效:

onPlayerStateChange: _.bind(function (event) { 
    var player = event.target;
    if (event.data == YT.PlayerState.PLAYING) {
      this.trigger("playing");
    }
}, this)