Что происходит с переменной без ключевого слова «var» внутри функции? - PullRequest
2 голосов
/ 08 августа 2011

function bla() { a=5; }

Является ли a автоматически глобальной переменной?

И когда именно она установлена?когда функции читаются впервые и помещаются в память или только при выполнении функции?

Ответы [ 3 ]

4 голосов
/ 08 августа 2011

При первом выполнении функции переменная становится глобальной.

4 голосов
/ 08 августа 2011

Если вы присваиваете переменную внутри функции, не объявляя ее с помощью var, тогда она становится глобальной.

1 голос
/ 08 августа 2011

Как только функция выполняется, она переводит переменную в глобальную.Точно так же, как функция, содержащая var a = 5 - она ​​не выполняется до тех пор, пока вы на самом деле не вызовете функцию.

Вы можете подтвердить это с помощью функции: вы не получите предупреждение, пока не вызовите функция.

function x() {
 alert(123);
 return 1;
}

function bla() {
 a = x();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...