2
  dispose: function() {
    var disposer;
    while (disposer = this._disposers.shift()) { // expected a conditional expression and instead saw an assignment.
      disposer();
    }
  },

jshintループdisposerで割り当てられているのは嬉しくありません。while

このロジックを維持してjshint使いやすくする方法はありますか?

4

3 に答える 3

6

を使用するだけで簡単に修正できます()

dispose: function () {
    var disposer;
    while ((disposer = this._disposers.shift())) {
        disposer();
    }
}
于 2012-08-22T19:54:19.980 に答える
3

私が何かを見逃していない限り...

dispose: function() {
    var disposer = this._disposers.shift();
    while (disposer) {
        disposer();
        disposer = this._disposers.shift();
    }
},

条件を強化することもできます。

while (typeof disposer === 'function') {

作業例: http://jsfiddle.net/DPNYq/

于 2012-08-22T19:48:29.290 に答える
1
dispose: function() {
  var disposer;
  while (typeof (disposer = this._disposers.shift()) === 'function') {
    disposer();
  }
},
于 2012-08-22T19:53:54.547 に答える