Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
43 / 17 / 4
Регистрация: 22.02.2012
Сообщений: 327
1

Невидна переменная

24.09.2013, 20:55. Показов 430. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго вечера.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function one(){
    function two(){
        function three(){
            variable = 'true';
        }
    }
    ajax(...);
}
function ajax(...){
    alert(variable);
    //стандартный запрос на сервер
    ....
    if (request.status==200){//дождались ответа, и хотим проверить наличие переменной variable
        if(variable) alert(variable);
        else alert(variable);
    }
}
Вопрос, почему в функции аякс, нету никакой переменной variable. Даже если ее первой строкой выводить, ничего небудет, даже undefinite. Да, я не передаю её в аякс, но это и ненужно. Объявил я её без var, значит она глобальная.
Её ведь отовсюду видно должно быть? Или я неправ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.09.2013, 20:55
Ответы с готовыми решениями:

Невидна реклама от гугла
Чем может быть вызванно то, что я получаю код нового блока рекламы от гугла вставляю его на...

воткнул оперативку DDR 256мб а она невидна нераспознана типа, а иной раз пищит может от пыли? у кого какие мысли поэтому поводу
воткнул оперативку DDR 256мб а она невидна нераспознана типа, а иной раз пищит может от пыли? у...

Переменная=Документ.имя. Сделать выборку всех документов с именем Переменная
Привет всем. У меня есть проблема и варианты решения, но они не работают. Проблема вот такая:...

Проблема с Adodc: 'Переменная объекта или переменная блока With не задана'
В свойствах самого контрола (MS ADO Data Control) проверка подключения к атблице (подключаюсь через...

5
69 / 69 / 22
Регистрация: 06.06.2013
Сообщений: 404
24.09.2013, 21:46 2
может для этой переменной глобальным объектом является внешняя функция хотя глупо

попробуй пробей this там

а если хочешь назначить глобально window.переменная =
1
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
24.09.2013, 21:47 3
Gabriel.exe, да, видно должно быть отовсюду
но значение эта переменная примет только тогда, когда сработает функция, где она объявлена
вы уверены, что до вызова функции ajax () у вас исполнялась функция three () со всеми её "внутренностями"?

PS. true - зарезервированное слово, при использовании кавычек не требует
2
69 / 69 / 22
Регистрация: 06.06.2013
Сообщений: 404
24.09.2013, 21:51 4
то есть фактически one()()() зарезервирует переменную, я бы не додумался)
1
632 / 440 / 67
Регистрация: 19.09.2012
Сообщений: 1,632
24.09.2013, 22:00 5
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function one(){
    function two(){
      return  function three(){
            window.variable = 'true';
        }
    }
   var fn= two();
   fn()
    ajax();
}
function ajax(){
 
    alert(variable);
}
 
one();
1
43 / 17 / 4
Регистрация: 22.02.2012
Сообщений: 327
25.09.2013, 10:00  [ТС] 6
Цитата Сообщение от vooduq Посмотреть сообщение
а если хочешь назначить глобально window.переменная =
Грандиозно, работает. Это вдвойне странно, потому что у меня уже используется глобальная переменная, и та работает без window.
Всем спасибо.
0
25.09.2013, 10:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2013, 10:00
Помогаю со студенческими работами здесь

Модульная переменная или блочная статическая переменная: что лучше
Переменная (тип String) нужна на всем протяжении работы программы. Нужен совет опытных - что...

Глобальная переменная определена в хидере. Компилятор ругается на то, что переменная переопределена несколько раз
Исходники: /* main.cpp */ #include "hider.h" int main(void) { return 0; } /* foo.cpp */

Public переменная, или private переменная и функции get/set
Пишу свой класс, который потом будет много где использоваться и пытаюсь осознать, как правильнее и,...

Пустая переменная выводится как %переменная%
Когда %var% ещё пустая, echo %var% выдаёт не пустоту (или "Режим вывода команд на экран (ECHO)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru