Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   где еще используется VAR ? (https://javascript.ru/forum/misc/48246-gde-eshhe-ispolzuetsya-var.html)

nverv 26.06.2014 15:58

где еще используется VAR ?
 
1) создание глобальных и локальных переменных {функций}
2) локальные переменные в циклах for и for in
...

Dandy 26.06.2014 16:53

вопрос какой-то странный.
var используется при создании переменных.
и почему вы разделяете локальные переменные и локальные переменные в циклах?

MallSerg 26.06.2014 16:55

Вся суть в том что var задает область видимости переменной в сочетании с замыканиями это простой понятный и очень мощный инструмент.

nverv 26.06.2014 17:25

Цитата:

Сообщение от MallSerg (Сообщение 318096)
Вся суть в том что var задает область видимости переменной в сочетании с замыканиями это простой понятный и очень мощный инструмент.

да! это просто и мощно и круто

спасибо :thanks: но я не об этом

про локальные переменные скрытые в функциях и циклах for / for in я всё понимаю
вопрос - где еще бывают ли

Aetae 26.06.2014 19:47

var используется везде. Вот единственный ответ на ваш вопрос.
Вот не используется var только в одном случае, для создания переменных в глобальной области видимости. И то в современном js использовать глобальную область для чего либо кроме неймспейсов не принято. В остальных случаях используется var.

Кстати в отличие от других языков локальные переменные задаются всегда на уровне функции. Т.е. даже если вы задаёте переменную в цикле она доступна и далее в функции:
(function(){
    for(var i = 0; i < 2; i++) {};
    alert(i);
}())
потому ваш вопрос особенно абсурден.

P.S. Для полной картины стоит сказать что js не стоит на месте, и в современных браузерах уже доступны помимо var: let и const, первый создаёт переменную на уровне блока, второй, соответственно, константу.

nerv_ 26.06.2014 21:29

Цитата:

Сообщение от nverv
где еще используется VAR ?

СамоVAR
БульVAR
VARVAR
:)

MallSerg 26.06.2014 22:00

Цитата:

Сообщение от nverv
про локальные переменные скрытые в функциях и циклах for / for in я всё понимаю

сильно сомневаюсь.
Возможно поможет статья http://javascript.ru/basic/closure#scope

nverv 26.06.2014 22:12

ну я вроде правильно мыслю - в глобальном пространстве не использовать var
а только в функциях и циклах
больше то негде же

Цитата:

Сообщение от Aetae (Сообщение 318114)
Кстати в отличие от других языков локальные переменные задаются всегда на уровне функции.

а если цикл не внутри функции ? тогда где находится локальная переменная объявленная внутри цикла

Erolast 26.06.2014 22:31

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

Ты, по-моему, мудришь. var - это просто объявление переменной. Вот в си есть int, char, float, double, а тут только var, ибо типизация в javascript динамическая. Видна эта переменная будет в той области видимости, в которой она объявлена, как и в том же си. Область видимости в javascript задается функциями, а не блоками, как в си, потому объявленная в цикле переменная будет видна в той же функции, где распологается сам цикл, да. Используется var, разумеется, везде. Как ты иначе собираешься объявлять переменные?

BETEPAH 26.06.2014 22:40

Цитата:

Сообщение от nverv
а только в функциях и циклах

цикл не создает область видимости. Отстаньте от него :)


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