Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   объявление переменной (https://javascript.ru/forum/misc/71435-obyavlenie-peremennojj.html)

рони 20.11.2017 00:22

Цитата:

Сообщение от mikello
Почему он вам не нравится?

пример про правильность применения load и ready, а не про ваш код.
всё что мог, написано выше
далее я пас :)

mikello 20.11.2017 00:24

Так я не понял, мой пример правильный или нет? )

рони 20.11.2017 00:26

mikello,
вам решать что вам нужно undefined или 1

mikello 20.11.2017 00:29

я его привел для того, чтобы показать, что именно в нем ready выполняется быстрее чем var f; . больше не для чего )

Dilettante_Pro 20.11.2017 11:55

mikello,
Небольшая цитата, на всякий случай
Цитата:

Все var будут обработаны один раз, на фазе инициализации.

На фазе исполнения объявления var будут проигнорированы: они уже были обработаны. Зато будут выполнены присваивания.
Цитата отсюда: Глобальные объекты

mikello 20.11.2017 16:03

еще такой вопрос, вроде бы 2 эквивалентных кода:
Цитата:

$(document).ready(function()
{
var f=0;
document.write(f);
})
var f=1;
document.write(f);
Цитата:

var f=1;
document.write(f);

x();
function x()
{
var f=0;
document.write(f);
}
но в первом коде почему-то выводит 0, а во втором 10. Каким образом в первом коде вызов document.write(f) внутри ready перезаписывает первый document.write(f) (f=1)?

рони 20.11.2017 16:13

mikello,
читать про document.write и не использовать в ready, если нет желания убить страницу

рони 20.11.2017 16:14

mikello,
https://learn.javascript.ru/document-write

mikello 20.11.2017 16:18

Цитата:

Метод document.write(str) работает только пока HTML-страница находится в процессе загрузки. Он дописывает текст в текущее место HTML ещё до того, как браузер построит из него DOM.
То есть, тогда когда страница уже загружена, document.write() не будет работать ?

рони 20.11.2017 16:20

Цитата:

Сообщение от mikello
То есть, тогда когда страница уже загружена, document.write() не будет работать ?

будет, но на странице кроме того что выведет document.write ничего больше не будет.


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