logo search
Vvedenie_v_Veb_programmirovanien_2 / Vvedenie_v_Veb_programmirovanien_2

Глобальные и локальные переменные

Cуществует два вида переменных: глобальные, которые видны во всем документе во время выполнения скрипта и локальные, которые объявляются и видны только внутри функций. Отметим, что глобальные переменные объявляются перед определением функции и видны также внутри функции. Глобальная переменная может быть переопределена как локальная внутри функции.

Если перед именем переменной ключевое слово var не ставится, то переменная также считается глобальной и принадлежат объекту window как свойство. Если значение такой глобальной переменной не определено, а к ней обращаются напрямую, это вызовет ошибку выполнения скрипта. Если же к переменной обращаться как к свойству объекта window, то будет возвращено значение undefined.

<!-- пример pr14 -->

<html>

<body>

<script type="text/javascript">

var x="global2";

function myFunc() {

var x = "local";//переопределение глобал_переменной

y = "global1";

var z=5;

}

myFunc();

alert(window.y); //вернет global1

alert(x); //вернет слово global2

alert(z); //ошибка

</script>

</body>

</html>

Функции в JavaScript также считаются объектами(call objekt). Аргументы и локальные переменные являются свойствами объекта. Могут использоваться функциональные литералы вида:

var f=function(x){return x*x}