--n
синтаксис уменьшает переменную.Чуть более распространенным является то, что вы могли видеть n++
, что аналогично, но увеличивает переменную.
--
или ++
могут появляться до или после переменной, и естьтонкая разница.Когда он приходит раньше, он изменяет значение, а затем возвращает измененное значение.Когда это прибывает после, это возвращает оригинальное значение.При непосредственном использовании значения это имеет значение.
var i;
// affix
i = 1; console.log(i++, i) // 1 2
i = 1; console.log(i--, i) // 1 0
// prefix
i = 1; console.log(++i, i) // 2 2
i = 1; console.log(--i, i) // 0 0
Обратите внимание, что значение префиксного выражения приращения или уменьшения возвращает то же значение для i после операции, в отличие от версии аффикса.
Итак, короче говоря, JSLint не очень любит префиксные операторы приращения.Но это должно быть эквивалентно:
while ( i >= 0 ) {
i -= 1;
this.removeEventListener( types[i], handler, false );
}
Не используя прямой результат операции декремента, он перестает иметь значение, как работает этот оператор и что он возвращает.Это также немного более явно, и JSLint любит явно.