04.12.2006, 12:22
общий
это ответ
Здравствуйте, Олег Владимирович!
ещё есть local
и если у вас используется use strict (что я вам очень рекомендую), вам придётся все используемые переменные объявлять с помощью local, our или my. Это конечно несколько неудобно, зато уберегает от опечаток и прочих глупостей.
Различаются они реализацией, впрочем она видима программно, но только если use strirt не используется.
local переменные - на самом деле глобальные, просто при входе в объект они переинициализируются, а при выходе их старое значение восстанавливается (если оно было). Это медленно, зато они доступны из других мест, например, из функций вызванных той, где эта local переменная объявлена.
my - это действительно локальная переменная, доступная только там, где она объявлена.
our - это вообще устаризм. для чего был введён - уже не помню. Похоже, что для объявления глобальных переменных - в каких-то версиях local и my вне функций были недопустимы.