Resident234
@Resident234
Full-stack

JS. Странности с prototype?

Добрый день.
Имеется функция
Array.prototype.UContainsCustom = function(closure)
{
    var i, pLen = this.length;
    for (i = 0; i < pLen; i++)
    {
        if (closure(this[i])) { return i; }
    }
    return -1;
}

проблема в том, что из-за этой функции возникают странности в цикле:
console.log(currentOffer.IMAGES);
                for (i in currentOffer.IMAGES) {
                    img = currentOffer.IMAGES[i];
                    console.log(img);
                    
                }

первый console.log показывает
0: "/upload/iblock/0b2/0b223b35e0910f3adb978064abeb335c.jpg"
1: "/upload/iblock/5b7/5b7dfa007d387fab8cca969ca14cdc42.jpg"

тут всё ок.
второй console.log показывает уже показывает странность:
/upload/iblock/0b2/0b223b35e0910f3adb978064abeb335c.jpg
/upload/iblock/5b7/5b7dfa007d387fab8cca969ca14cdc42.jpg
function(closure)
{
    var i, pLen = this.length;
    for (i = 0; i < pLen; i++)
    {
        if (closure(this[i])) { return i; }
    }
    return -1;
}
т.е. на третьей итерации, которой быть не должно, выводится код этой функции.
Как это можно объяснить ?
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ответы на вопрос 3
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы