Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужно ли в этом примере (это) объявление переменных или нет? (https://javascript.ru/forum/misc/10952-nuzhno-li-v-ehtom-primere-ehto-obyavlenie-peremennykh-ili-net.html)

sashka++ 30.07.2010 14:32

Нужно ли в этом примере (это) объявление переменных или нет?
 
Увидел в сети в одном (не знаю на сколько хорошем правда) туториале
вот такой пример:


как я понял поставленая задача в том, чтобы выбранный пункт SELECT'a при смене значения прописывался в поле INPUT.

В процессе познания данного кода убедился, что он прекрасно обходится без объявления переменных(отмеченных зеленым) sel, inp.
В общем меня это немного запутало, хотелось бы понять -

Что это - лишний код?.. или проделки умных браузеров, которые сами додумывают ситуацию?..
Одним словом требует ли поставленная задача объявления переменных или нет?

Kolyaj 30.07.2010 14:38

Цитата:

Сообщение от sashka++
В процессе познания данного кода убедился, что он прекрасно обходится без объявления переменных

В Firefox проверьте.

Gvozd 30.07.2010 14:59

http://javascript.ru/basic/functions#oblasti-vidimosti

x-yuri 30.07.2010 20:57

Цитата:

Сообщение от sashka++
Одним словом требует ли поставленная задача объявления переменных или нет?

одним словом: требует ;)

sashka++ 31.07.2010 01:34

Kolyaj, да везде прокатывает в ФФ, Хроме, Опере.. в 6ом осле - потому и создал тему. Я j-script стартер)) ну и такая работа браузеров конечно волнует) и мешает пониманию порой.

x-yuri, Gvozd.. спасибо народ - пойду читать есчо)

x-yuri 31.07.2010 04:47

<div id="myDiv"></div>
<script type="text/javascript">
    var myDiv = ...;

    // (много строк кода)

    // а так везде прокатывает?
</script>

другими словами, ни к чему делать глобальные переменные из элементов. И если браузер таким занимается, это его проблемы. По всей видимости, это было сделано, чтобы сэкономить драгоценные байты, пересылаемые по сети. Если это и было когда-то актуально, теперь есть лучшие альтернативы


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