Javascript-форум (https://javascript.ru/forum/)
-   Мобильный JavaScript (https://javascript.ru/forum/mobile/)
-   -   Поместить переменную во вложенную функцию. (https://javascript.ru/forum/mobile/37101-pomestit-peremennuyu-vo-vlozhennuyu-funkciyu.html)

KamalovRadik 08.04.2013 00:23

Поместить переменную во вложенную функцию.
 
Есть функция, в ней еще одна функция, которая вызывается при успешном выполнении.
В основной функции заполняется массив данных. Мне необходимо использовать этот массив во вложенной функции. Как передать его туда?
function querySuccess(tx, results) {
        var len = results.rows.length;
        var latitude=[], longitude=[];
        for (var i=0; i<len; i++){

          
         latitude[i] =  results.rows.item(i).latitude;
         longitude[i] = results.rows.item(i).longitude;
          
         
        }
        
    
        var options = { enableHighAccuracy: true };
        watchID = navigator.geolocation.watchPosition(onSuccess, onError, options);
    
   
    
    }
    
  
    var  count = 0;
    var latitude , longitude ;
  
    function onSuccess(position) {
  //Как в эту функцию поместить массив longitude[]  ?
}

Aetae 08.04.2013 14:49

Он уже там.)

da_ff 23.04.2013 01:02

Каррирование

oneguy 23.04.2013 03:32

Есть 3 способа.
1) поместить тело функции onSuccess внутрь функции querySuccess;
2) переместить объявления переменных latitude и longitude выше, в общую область видимости функций querySuccess и onSuccess;
3) привязать необходимые аргументы к функции onSuccess с помощью bind.

oneguy 23.04.2013 03:34

Цитата:

Сообщение от da_ff (Сообщение 247680)

Мне непонятно, как карирование поможет решить эту проблему.

da_ff 23.04.2013 14:32

Цитата:

Сообщение от oneguy (Сообщение 247695)
Мне непонятно, как карирование поможет решить эту проблему.

Цитата:

3) привязать необходимые аргументы к функции onSuccess с помощью bind.
Цитата:

С интуитивной точки зрения, каррирование функции позволяет фиксировать ее некоторый аргумент, возвращая функцию от остальных аргументов.
Ну подумай.

oneguy 24.04.2013 00:31

Цитата:

Сообщение от da_ff (Сообщение 247742)
Ну подумай.

Да, ты прав, мой третий способ и есть каррирование.


Часовой пояс GMT +3, время: 22:29.