Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jQuery. Передача и возврат массива в функцию. 
:(
    Опции темы
DiMoN_TD
Дата 31.3.2008, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 16.12.2007

Репутация: нет
Всего: нет



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

Код

$(document).ready(function(){
    var arr = new Array();
    arr["ok"] = 1;
    $("a").click(function(arr){
        alert(arr["ok"]);
        arr["ok"] = 0;
        return arr;
    });
    alert (arr["ok"]);
});


Вот казалось бы простенький код, но вот почему-то ничего никуда не передаётся и ничего никуда не возвращается. Подскажите, как с этим бороться?
PM MAIL   Вверх
ksnk
Дата 31.3.2008, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



Цитата(DiMoN_TD @  31.3.2008,  12:35 Найти цитируемый пост)
одскажите, как с этим бороться? 

Что куда должно передаваться и с чем бороться?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Aver78
Дата 1.4.2008, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 21.4.2007

Репутация: нет
Всего: нет



Я так понял, что проблема в том, что при вызове $("a").click значение массива пустое. Я конечно могу ошибаться, но когда ты передаешь arr как параметр функции click ему, arr то бишь присваивается объект по которому кликнули. А массив, он и так глобальный, его не надо никуда передавать. По моему в javascript вообще нет такого понятия как локальная переменная. Пока страницу не перегрузишь он будет существовать для всех функций и так. Это же не php где если не передал паременную то создается локальная с таким именем.
Резюме. Убери arr из параметра функции click.

Это сообщение отредактировал(а) Aver78 - 1.4.2008, 09:52
PM MAIL   Вверх
DiMoN_TD
Дата 1.4.2008, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 16.12.2007

Репутация: нет
Всего: нет



Aver78, 
Да, спасибо, я уже разобрался, что нет такого понятия у JS как глобальная или локальная переменная =) А так же разочаровался, что нет двумерных массивов =(
PM MAIL   Вверх
bars80080
Дата 1.4.2008, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 3
Всего: 315



как нет, если не ошибаюсь, если в функции определить переменную var param, то она будет видна только внутри функции и не будет затрагивать переменные с теми же именами в других
PM MAIL WWW   Вверх
krundetz
Дата 8.4.2008, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 2
Всего: 69



Цитата(DiMoN_TD @ 1.4.2008,  11:15)
Aver78, 
А так же разочаровался, что нет двумерных массивов =(

Ну в качестве двухмерного масива вполне сгодиться масив в котором значениями будут другие массивы.
Также как в С/С++,Java


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0517 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.