Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Правильно ли я представляю фундамент ECMAScript ? поправьте меня пожалуйста. (https://javascript.ru/forum/misc/72788-pravilno-li-ya-predstavlyayu-fundament-ecmascript-popravte-menya-pozhalujjsta.html)

MallSerg 26.02.2018 21:23

Похоже тут нужен КЕП.

1. Свойство глобального объекта Window это ссылка на глобальный объект.
2. Глобальный объект это глобальный объект.
2.1 В JavaScript есть наследование. Любой объектный тип данных наследует свойства у Object.
2.2 Так как глобальный объект это объект то у него могут быть свойства. (null, undefined).

Глобальный объект это обычно простой экземпляр Object который расширяется специальными свойствами описанными в спецификации. Нужен он для того чтобы было возможно организовать контекст исполнения (области видимости для функций) т.е. если грубо на пальцах это место(объект) где хранятся переменные т.е реализует механизм сохранения и обращения к данным. Данные не могут висеть в воздухе нужен механизм(правила, соглашение) для того что обратится к ним. Глобальный объект как раз и служит набором правил по сохранению и использованию данных.

Rashid6 похоже думает что "Object" ,"window" и "Глобальный объект" это разные типы данных (классы как в C#)

На самом деле window это идентификатор хранящий ссылку на "Глобальный объект" который является экземпляром "Object".

Rashid6 28.02.2018 11:04

Цитата:

Сообщение от MallSerg (Сообщение 479274)
Похоже тут нужен КЕП.

1. Свойство глобального объекта Window это ссылка на глобальный объект.
2. Глобальный объект это глобальный объект.
2.1 В JavaScript есть наследование. Любой объектный тип данных наследует свойства у Object.
2.2 Так как глобальный объект это объект то у него могут быть свойства. (null, undefined).

Глобальный объект это обычно простой экземпляр Object который расширяется специальными свойствами описанными в спецификации. Нужен он для того чтобы было возможно организовать контекст исполнения (области видимости для функций) т.е. если грубо на пальцах это место(объект) где хранятся переменные т.е реализует механизм сохранения и обращения к данным. Данные не могут висеть в воздухе нужен механизм(правила, соглашение) для того что обратится к ним. Глобальный объект как раз и служит набором правил по сохранению и использованию данных.

Rashid6 похоже думает что "Object" ,"window" и "Глобальный объект" это разные типы данных (классы как в C#)

На самом деле window это идентификатор хранящий ссылку на "Глобальный объект" который является экземпляром "Object".


Во спасибо, да я думал как классы. Теперь понятно что window это Глобальный объект, и у него не должно быть конструктора, ссылается на объект - потому что сам window это объект. Все логично, всем спасибо!

Rashid6 28.02.2018 11:10

Цитата:

Сообщение от Rise (Сообщение 479278)
Rashid6,
Еще хотел сказать, что все эти window, document, ajax и тд, это не часть ECMAScript, это отдельные стандарты https://www.w3.org/standards/webdesign/script.

Ах да, это я понял. Только вот:

В глобальном объекте window столько объектов, это получается все нужно знать веб программисту, ну фронтендеру, или как там ? Это реально вообще ?

Rashid6 01.03.2018 08:44

Цитата:

Сообщение от Rise (Сообщение 479449)
Rashid6,
По необходимости конечно, всё знать не реально, но основы хотя бы знать надо, дальше пойдут фреймворки, в общем учиться придется постоянно :)

Ну основы я вроде как учу это EcmaScript и DOM в основном далее BOM.
А вот фремверки это что, не понимаю для чего они нужны, почему в самом Js писать нельзя а именно делать проекты на фремверках ?

Я вот понимаю чем занимаются верстальщики допустим, а чем занимаются те люди которые знают фреймверки, то есть настоящие фронтенд разработчики ?
Цитата:

Как говорил товарищ Ленин - "Учится, учится, и ещё раз учится."

Dilettante_Pro 01.03.2018 11:43

Rashid6,
Цитата:

Сообщение от Rashid6
Учится, учится, и ещё раз учится

В порядке учебы:
Учиться, учиться, и ещё раз учиться

Русский - это тоже язык, ничем не хуже языков программирования. Несоблюдение орфографии изменяет смысл.
Цитата:

Сообщение от Rashid6
А вот фремверки это что, не понимаю для чего они нужны, почему в самом Js писать нельзя

Можно, но зачем заново самому писать то, что уже написано - и хорошо написано? Фреймворки - это библиотеки очень полезных вещей


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