Показать сообщение отдельно
  #1 (permalink)  
Старый 25.05.2014, 14:31
Новичок на форуме
Отправить личное сообщение для brokenwind Посмотреть профиль Найти все сообщения от brokenwind
 
Регистрация: 14.04.2014
Сообщений: 6

return в callback функции, вызываемой в loop'е
Всем привет!
Пишу extension для шаблонизатора, который получает через AJAX шаблон, а в нем находит текст между специфическими тегами и отправляет его на перевод (вызывает callback функцию, которая ищет соответствие полученной строки в JSON-библиотеки и отдает перевод).

Теперь о самой проблеме. Все работает отлично, но в loop, когда проходит итерация, не работает return callback-функции.

Упрощенно выглядит так:

//Вариант первый, который нужен, но не работает
var print = function (info) {
    return info.tits
}

//Вариант второй, работает, когда без return
var print = function (info) {
    alert(info.tits)
}

//Эмуляция возвращенного массива
var arr = [];
var objOne = {tits: 'tide'}
var objTwo = {tits: 'huge'}
arr.push(objOne)
arr.push(objTwo)


//Упрощенная функции, перебирающий массив
var parser = function () {
	for (var i in arr) {
        print(arr[i]) 
     }}

parser();


print(arr[0]) возвращает все правильно.
parser() возвращает undefined, хотя если заменить в функции print return на alert, например,то все работает.

помогите советом )

Спасибо!
Ответить с цитированием