Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   document.getElementById return undefined (https://javascript.ru/forum/events/48327-document-getelementbyid-return-undefined.html)

Sweet 30.06.2014 00:11

Цитата:

Сообщение от foo
Да? A это что?
a=1
console.log(a)

Это просто код. Ты мне лучше скажи, это что:
Цитата:

Сообщение от Sweet
Просто запусти на ноде такой код:
console.log(arguments);

Это разговор человека, который знает и человека, который придумывает, говорит твои домыслы и прочее, что не имеет никакого отношения к действительности.

foo 30.06.2014 00:15

Цитата:

Сообщение от Sweet
Я уже объяснил, почему оно так

А теперь я объясняю без модулей головного мозга, а сточки зрения семантики. Как я уже объяснял выше, компилятор в первом проходе делает подстановку всех варов. Он эти значения выдергивает из глобала. Поскольку global.a получит свое значение только в рантайме, на стадии компиляции присвоить значение var a невозможно, и оно устанавливается в undefined

Sweet 30.06.2014 00:24

foo, вот только не нужно рассказывать мне своё представление о том, как всё работает. Я без тебя уже много лет знаю, как работает интерпритатор js.

Sweet 30.06.2014 00:32

foo, и, кстати, ты все разговоры сводишь к глобальному окружению и var. Видимо, потому что внезапное "озарение" про var - это единственное, чем ты в этой жизни можешь похвастаться:haha:
Кстати, весь этот флейм вышел отсюда:
Цитата:

Сообщение от Sweet
Я вот не понимаю людей, которые объявляют переменные в начале функции. И в знак протеста, я буду объявлять переменные внизу функций!!!

Так что:
x = "foo";
new function () {
  alert(x);
  x = "Засунь своё любимое глобальное окружение себе в...";
  alert(x);
  
  var x;
};

foo 30.06.2014 00:38

Цитата:

Сообщение от Sweet
Ты мне лучше скажи, это что:

Вот такая вот клоунада, видимо
a=arguments[0].__proto__
b=(function(){return arguments.__proto__})()
console.log(a===b)// true

А ты мне скажи, какая нахрен разница, что это? Какое это имеет отношение к вопросу?

Sweet 30.06.2014 00:49

Цитата:

Сообщение от foo
Вот такая вот клоунада, видимо
a=arguments[0].__proto__
b=(function(){return arguments.__proto__})()
console.log(a===b)// true

Что ты этим хочешь сказать? Что
Object.prototype === Object.prototype
???
Цитата:

Сообщение от foo
А ты мне скажи, какая нахрен разница, что это?

Такая, что в ноде никакой код не исполняется в глобальном окружении.
Цитата:

Сообщение от foo
Какое это имеет отношение к вопросу?

А что за вопрос?

foo 30.06.2014 00:53

Sweet,
Что-то удивительное я должен найти в этом куске? Впечатлиться как-то?

foo 30.06.2014 00:55

Цитата:

Сообщение от Sweet
что в ноде никакой код не исполняется в глобальном окружении.

Каким образом наличие какого то объекта доказывает это?
console.log({one: 1})

Это тоже доказывает?

Sweet 30.06.2014 00:57

Цитата:

Сообщение от foo
Что-то удивительное я должен найти в этом куске? Впечатлиться как-то?

Ну естественно!!! Ты ж поди и не знал, что есть что-то, кроме глобального окружения.

Sweet 30.06.2014 01:00

Цитата:

Сообщение от foo
Каким образом наличие какого то объекта доказывает это?

Не доказывает, а показывает. Ты хочешь доказательств?
Цитата:

Сообщение от foo
Это тоже доказывает?

Ничего.


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