Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Использование слова var (http://www.flasher.ru/forum/showthread.php?t=69903)

Dvaman 03.10.2005 18:06

Использование слова var
 
Давно интересует непринципиальный вопрос по использования слова var. В умных книжках постоянно перед использованием переменной(ых) ее объявляют типа var x; потом x=0; или просто var x=0;
Сколько себя помню вне функций никогда его не писал, и все работало.
В какой ситуации данное пренебрежение даст сбой?

iNils 03.10.2005 18:09

Почуствуй разницу
Код:

a = function () {
        trace ("a: cx=" + cx);
        cx = 5;
        trace ("a: cx=" + cx);
};
cx = 4;
a ();
trace ("_root: cx=" + cx);
trace ("---------------------");
b = function () {
        trace ("b: dx=" + dx);
        var dx = 15;
        trace ("b: dx=" + dx);
};
dx = 14;
b ();
trace ("_root: dx=" + dx);


Dvaman 03.10.2005 18:23

Внутри функций не спорю, сам использую (чтобы при выходе удалять временные переменные)
Я про
Цитата:

Сколько себя помню вне функций никогда его не писал, и все работало.
когда-то писал, потом забил - и так работает.

iNils 03.10.2005 18:32

И правильно, толку от использования var вне функции нет.

Dvaman 03.10.2005 18:41

еще маленький вопрос.

for (var i = 0; i<10; i++) {
trace("message");
}
trace(i); // равна 10 а не undefined;

Почему не происходит уничтожение i при выходе из for?

iNils 03.10.2005 18:45

Потому что вне функции используешь
Код:

a = function () {
        for (var i = 0; i < 10; i++) {
                trace ("message");
        }
};
a ();
trace (i);
trace ("-------------------------")
a = function () {
        for (i = 0; i < 10; i++) {
                trace ("message");
        }
};
a ();
trace (i);


KidsKilla 03.10.2005 18:45

у for нет области видимости.

Dvaman 03.10.2005 18:54

получается: если for не вложен в функуцию писать в нем var не имеет смысла.

iNils 03.10.2005 18:55

Абсолютно верно.

Dvaman 03.10.2005 19:05

ну слава богу, можно спать спокойно :)


Часовой пояс GMT +4, время: 07:57.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.