Замените выделенный текст jquery/javascript

Я начал использовать итераторы, где релевантный. Производительность разумна, однако что еще более важно, она позволяет Вам инкапсулировать логику цикличного выполнения:

function createIterator(x) {
    var i = 0;

     return function(){
       return x[i++];
    };
}

Затем для использования:

var iterator=createIterator(['a','b','c','d','e','f','g']);

iterator();

возвраты "a";

iterator();

возвраты "b";

и так далее.

, Чтобы выполнить итерации целого списка и отобразить каждый объект:

var current;

while(current=iterator())
{
    console.log(current);
}

знать, что вышеупомянутое только приемлемо для итерации списка, который содержит значения "non-falsy". Если этот массив содержал какой-либо из:

  • 0
  • ложь
  • ""
  • пустой указатель
  • NaN

предыдущий цикл остановил бы в том объекте, не всегда, что Вы хотите/ожидаете.

Для предотвращения этого использования:

var current;

while((current=iterator())!==undefined)
{
   console.log(current);
}
5
задан Daniel Huckstep 7 July 2009 в 22:18
поделиться