![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Black |
|
||||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Меня FireFox постоянно достает предупреждением:
Я так понял, что я неправильно объявляю глобальные переменные в функциях. Как же их правильно объявлять ???
Если переменную объявить со словом var вне контекста функции, данное предупреждение не вылазит, а переменная становится глобальной Однако, если мне надо создать глобальную переменную в теле функции, я же не могу там написать var иначе она станет локальной переменной данной функции. Как же надо правильно дать ей (переменной) декларацию и сделать ее глобальной. Добавлено @ 11:32 Я уже придумал ответ Надо все переменные которые будут глобальными объявить через var вне контекста (тела) функций. И тогда FireFox не ругается. P.S: пока писал вопрос, придумал на него ответ -------------------- Могу все, но ничего не умею :-) |
||||
|
|||||
| Black |
|
||||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Кстати, многие могут удивиться что меня FireFox стал доставать этим предупреждением.
По умолчанию в FireFox установлен мягкий режим проверки на корректность JavaScript Чтобы установить строгий режим (который я и установил) необходимо в адресной строке набрать:
Затем в поле фильтр ввести
и значение false поменять на true (меняется двойным щелчком по строке). Вот, теперь строгий режим (strict). Помните валидатор HTLM там тоже есть strict... -------------------- Могу все, но ничего не умею :-) |
||||
|
|||||
| o.s.a. |
|
|||
![]() Xo4y B MocKBy ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.2.2005 Где: Ташкент Репутация: 5 Всего: 15 |
Любая переменная, где бы она ни находилась, объявленная БЕЗ var - является глобальной.
Переменная, объявленная с var в функции - локальная - доступна только в теле этой функции. Переменная, объявленная с var не в функции (между тегами <script> </script>), доступна во всех функциях данного скрипта. Возможно у тебя какая-то ошибка. У меня тоже FireFox, но все работает нормально. -------------------- Не могу стоять, пока другие работают, пойду полежу. |
|||
|
||||
| o.s.a. |
|
|||
![]() Xo4y B MocKBy ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.2.2005 Где: Ташкент Репутация: 5 Всего: 15 |
Да, включил строгий режим, у меня тоже пошли сообщения как у тебя.
Решения нашел такое: объявлять переменную в начале скрипта
-------------------- Не могу стоять, пока другие работают, пойду полежу. |
|||
|
||||
| Black |
|
|||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
o.s.a.
я уже догадался об этом сразу после того как написал вопрос. -------------------- Могу все, но ничего не умею :-) |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
|
|||
|
||||
| Black |
|
||||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Aliance
на это дело и ругался FireFox, что и вызвало мои опасения и этот топик Только почему он ругается на такой метод создания глобальных переменных я не понял. По мнению FireFox правильно так:
-------------------- Могу все, но ничего не умею :-) |
||||
|
|||||
| Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Угу, это правильно. Просто большинство браузеров поддерживают "грязный" кодинг, когда глобальные появляютья из "ниоткуда". Кстати такой приём должен прокатить без ошибок, но тем не менее это грязный стиль:
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
| Black |
|
|||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Sardar
да прокатило без ошибок. Не знал, что так можно глобальные переменные создавать
Это сообщение отредактировал(а) PHP-DIRECTOR - 26.6.2005, 19:30 -------------------- Могу все, но ничего не умею :-) |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Каждая переменная - это, грубо говоря, свойство объекта Window.
|
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |