6 / 6 / 0
Регистрация: 26.06.2016
Сообщений: 68
|
||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||
Основные понятия JavaScript15.01.2019, 14:08. Показов 1636. Ответов 32
Доброго времени суток всем кто забрёл в эту тему.
Изучаю JavaScript, пытаюсь разобраться в основных категориях: Объект, Функция. Буду рад, если кто нибудь, уделит немного своего внимания и поможет мне в этом. Далее я буду писать код и комментарии к нему, как я его понимаю. С целью, показать последовательность моих мыслей и исправлении ошибок в понимании. Заранее благодарен всем кто откликнется.
Переменной var obj присваивается ссылка на объект созданный с помощью функции-конструктор function Object(){} (или другими словами переменной var obj присваивается ссылка на объект типа Object) Я без труда могу обращаться к свойствам property0 и property1 в созданном объекте через имя переменной var obj
И делаю вывод, что могу создать функцию по аналогии с созданием объекта, пример которого выше по тексту.
1
|
15.01.2019, 14:08 | |
Ответы с готовыми решениями:
32
Как реализуются в JavaScript базовые понятия ООП? История создания, ключевые понятия языка сценариев JavaScript Основные понятия класса Основные понятия теории множество |
dev - investigator
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
||||||
15.01.2019, 14:37 | 2 | |||||
а чего ж Вы дальше не стали читать?
Сообщение от MDN
0
|
6 / 6 / 0
Регистрация: 26.06.2016
Сообщений: 68
|
||||||
15.01.2019, 14:51 [ТС] | 3 | |||||
я читал
Выделенные пункты в статье не рассматриваются
Но вопрос в другом. Можно ли объявлять свойства в функции? Если, да. То, каким образом к ним можно обращаться?
0
|
dev - investigator
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
||||||
15.01.2019, 15:28 | 5 | |||||
klopp, приветствую Да нет, Тс как раз читал именно эту статью, именно на неё он дал ссылку в п.1
vvshnik14, если Вы дочитали до конца, вероятно Вы увидели в абзаце с заголовком Далее ссылку - Функции. Прочитав её до конца, Вы увидите См. также. Посмотрите, не поленитесь. Так уж устроен этот ресурс. Не все данные в одном месте. Это своеобразная википедия для MDN. Просто набор статей со ссылками друг на друга. Прототипное наследование. Уверен Вы и до этого доберетесь Нет так, как это сделали Вы.
0
|
6 / 6 / 0
Регистрация: 26.06.2016
Сообщений: 68
|
||||||
15.01.2019, 15:51 [ТС] | 6 | |||||
0
|
dev - investigator
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
||||||
15.01.2019, 15:58 | 7 | |||||
vvshnik14, Читайте внимательнее, про кавычки забыли -
1
|
6 / 6 / 0
Регистрация: 26.06.2016
Сообщений: 68
|
||||||
15.01.2019, 16:14 [ТС] | 8 | |||||
Qwerty_Wasd, Весьма благодарен за ваши ответы
Подскажите, а если func использовать как конструктор и создать объект типа func. Почему в нём нету свойства prop1?
0
|
dev - investigator
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
||||||
15.01.2019, 16:38 | 9 | |||||
vvshnik14, вот мы сейчас не заметно подобрались с Вами к краеугольному камню в обучении любой дисциплины - логика.
Переведём код на русский язык (я позволю себе это допущение, ибо это мой родной язык) -
И да чуть не забыл - не за что. Пожелаю Вам терпения, оно Вам понадобиться в изучении
0
|
6 / 6 / 0
Регистрация: 26.06.2016
Сообщений: 68
|
||||||
15.01.2019, 17:33 [ТС] | 10 | |||||
Добавлено через 4 минуты Qwerty_Wasd, Благодарю за ответ и совет
0
|
dev - investigator
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
|
15.01.2019, 17:41 | 11 |
vvshnik14, Почитайте, только внимательно - https://developer.mozilla.org/... onstructor
0
|
6494 / 3905 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
|
||||||||||||||||
15.01.2019, 21:27 | 12 | |||||||||||||||
Всем здравствуйте!
Здесь не объявления свойств, а метки.
"Сложный, вычурный и очень трудный для понимания язык программирования JavaScript был создан специально, чтобы отделить узкий круг талантливых настоящих программистов от лиц, примазывающихся к ним." Добавлено через 9 минут vvshnik14, кстати.
1
|
6 / 6 / 0
Регистрация: 26.06.2016
Сообщений: 68
|
|||||||||||
16.01.2019, 08:50 [ТС] | 13 | ||||||||||
amr-now, Здравствуйте!
Вы ответили на вопрос(Почему интерпретатор не ругается на этот код?), который у меня возник, но я его пока не озвучил.
0
|
6 / 6 / 0
Регистрация: 26.06.2016
Сообщений: 68
|
|
16.01.2019, 08:56 [ТС] | 14 |
И ещё вопрос для Qwerty_Wasd и тех кто решит присоединиться:
В этой картинки есть неточности? (Она про наследование в JavaScript) Могу ли я опираться на неё в своих рассуждениях?
0
|
6494 / 3905 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
|
||||||
16.01.2019, 09:50 | 15 | |||||
vvshnik14, можете.
Вот кишки Мустафы:
Потому что JavaScript считает его синтаксически верным. Здесь синтаксис унаследован из языка Си: - литерал 0 является выражением, - выражение может быть инструкцией. - подразумевается, что инструкция заканчивается точкой с запятой. Я кстати в двухтысячных годах несколько лет не понимал, что такое "инструкция" (statement). Так что, как говорится, и на "Е" бывает, и на... Добавлено через 4 минуты PS: По поводу инструкции. В русскоязычной литературе десятилетиями гулял ложный перевод слова "statement". Переводили как "оператор". Наводило на ложный смысл "operator"
1
|
6 / 6 / 0
Регистрация: 26.06.2016
Сообщений: 68
|
||||||
17.01.2019, 13:17 [ТС] | 16 | |||||
Не согласен с этим комментарием: На мой взгляд, здесь создаётся объект типа func, а не Function.
Здесь я неправ, в том что экземпляр наследуется от конструктора. Как сейчас, я понимаю: конструктор нужен как макет, который содержит набор свойств(и их значения), которые будут присутствовать в экземпляре созданным при помощи ключевого слова new. НО экземпляр не будет содержать свойств которые были указаны в конструкторе без ключевого слова this.
0
|
6494 / 3905 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
|
|
17.01.2019, 13:32 | 17 |
vvshnik14, экземпляр как самый первый "вагончик" из "поезда" не наследуется ни от чего.
В JS экземпляр - пустая площадка. Дикое поле практически. К пустому экземпляру сразу же прицепляется вагончик из ИмяФункции.prototype Функция-конструктор ИмяФункции на пустой площадке создает какие-то поля. А чтобы ООП было похоже на обычное ООП, в конце функции-конструктора по-хорошему надо бы заморозить набор полей экземпляра. В противном случае все кому не лень будут дальше дописывать поля к экземпляру, что с точки зрения обычного ООП - извращение.
1
|
dev - investigator
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
|||||||||||
17.01.2019, 13:52 | 18 | ||||||||||
vvshnik14, просто молча подкину https://jsfiddle.net/Qwerty_Wasd/6ksw94du/
0
|
6 / 6 / 0
Регистрация: 26.06.2016
Сообщений: 68
|
|
17.01.2019, 13:54 [ТС] | 19 |
amr-now, спасибо за участие в обсуждении.
Вы не поверите но картинка с мустафой мне ОЧЕНЬ помогла, не хватало визуального представления той логики которой накрутили создатели языка. два дня назад мне это было вообще не понятно, но JS изучаю, таким же образом как и дети разбирают игрушки. Долго не мог понять как устроено наследования, теперь понимаю: null <---- Object.Prototype <------ ИмяФункции.prototype <----- Экземпляр
1
|
6494 / 3905 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
|
||||||
17.01.2019, 13:58 | 20 | |||||
Раз пошла такая пьянка, покажу сюрреализм языка JavaScript:
С точки зрения логики это нонсенс. ------ В скрипте также показана заморозка набора полей экземпляра, чтобы было похоже на обычный всеми понимаемый экземпляр.
0
|
17.01.2019, 13:58 | |
17.01.2019, 13:58 | |
Помогаю со студенческими работами здесь
20
Основные понятия языка Pascal Основные понятия и приемы программирования Основные понятия алгебры логики основные понятия логики высказываний Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |