Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему не следует использовать var в global (https://javascript.ru/forum/misc/48268-pochemu-ne-sleduet-ispolzovat-var-v-global.html)

Erolast 27.06.2014 16:50

Цитата:

а читая фленагана я понял что нельзя так

"
все переменные должны объявляться...
Уже говорилось:
Цитата:

Ты путаешь. Это свойства, а не переменные. Свойства, разумеется, объявлять не надо.
Объявляются переменные, но не свойства. Свойства просто определяются.

nverv 27.06.2014 16:52

спасибо товарищи, отпустило

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

foo 27.06.2014 16:53

Цитата:

Сообщение от Erolast
Свойства просто определяются.

Кстати, если уж ты так ратуешь за разделение, будь последователен. Пусть будут недоступны не только переменные в объекте, но и свойства из функций. Посмотрю я что ты тогда напишешь

Erolast 27.06.2014 16:56

Переменные в объекте? Свойства из функций? Что? :blink:

foo 27.06.2014 17:01

Цитата:

Сообщение от Erolast
Переменные в объекте? Свойства из функций? Что?

ну вот так
global.a=1
function getHuy(x){
   return global.a+x
}
getHuy(1)//huy тебе а не global.a

Erolast 27.06.2014 17:31

Даже отвечать на этот бред не хочется.

foo 27.06.2014 17:33

Цитата:

Сообщение от Erolast
не хочется

Скорей не можется. Потому что ты не врубаешься в семантику жабаскрипта, поэтому тебя такие вопросы ставят в тупик. Стандарт прочитать, не значит понять язык

kobezzza 27.06.2014 17:36

Цитата:

Сообщение от Erolast (Сообщение 318359)
Даже отвечать на этот бред не хочется.

Ну на самом деле, в "чисто" функциональных языках такой сценарий есть и сделан он в первую очередь, чтобы 100% гарантировать, что результат функции зависит только от её входных параметров, но для языка общего назначения - это перебор, хотя, если бы был введён новый вид функций для этой фичи, то было бы прикольно.

foo 27.06.2014 17:46

Цитата:

Сообщение от kobezzza
в "чисто" функциональных языках

В чисто функциональных языках другая фича -- иммутабельность. Здесь же идет речь о том, что у замыканий свой неймспейс, у объектов (которые под капотом тоже функции) свой. Глобальный скоп замыканий пересекается с неймспейсом глобального объекта. Так вот, если они считают, что из объекта не следует иметь доступ к глобальному скопу замыканий, логично было бы изолировать и неймспейс объектов от обращения изнутри функций. И получим 2 отдельных языка, которые не пересекаются.

Erolast 27.06.2014 17:48

Опять же
Цитата:

Даже отвечать на этот бред не хочется.


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