Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   область видимости переменных (https://javascript.ru/forum/misc/11852-oblast-vidimosti-peremennykh.html)

jetli13 17.09.2010 09:46

область видимости переменных
 
function a(ab)
{
   var ab;
   alert(ab);
}

 a(4);


Почему ab не undefined ? Я же ее объявляю внутри функции и не инициализирую...

Kolyaj 17.09.2010 10:29

Потому что var не создаёт заново переменную, если она уже есть.

jetli13 17.09.2010 10:54

Спасибо!
На самом деле меня смутил такой пример
var scope = "глобальная";
function f() {
  alert(scope); 
  var scope = "локальная";
  alert(scope); 
}
f();


теперь понял разницу

Kolyaj 17.09.2010 11:00

Да, я неточно выразился. Переменная не создаётся, если она уже существует в текущем локальном контексте.


Часовой пояс GMT +3, время: 03:33.