Работа с объектами в JavaScript: теория и практика. Объекты JavaScript в примерах. Проверка существования свойств

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

Структура — это на самом деле очень важно, если вы заморачиваетесь насчет качества. А чтобы составить нормальную структуру, нужно понимание того, как работают теги h.

h1 — это главный подзаголовок в статье, который обычно размещен над текстом.

Первый заголовок должен визуально быть больше остальных заголовков на странице.

h2-h6 — это маленькие подзаголовки, которые проставляются по принципу вложенности.

Для чего вообще нужны заголовки?

Для тех, кто не сильно в теме — вот в принципе неплохое видео про азы составления подзаголовков h1-h6. Если не считаете себя спецом, посмотрите:

И для закрепления материала чуть послабее видео:

Заголовки призваны в одной фразе или даже слове выделить основную суть, идею последующего текста. Обычно на них человек обращает свое внимание в первую очередь, решая, стоит ли читать остальной материал. Особенно важное значение заголовки имеют в рекламных текстах, письмах, и служат главным инструментом по привлечению внимания целевой аудитории.

В коде тег выглядит так:

, где буква h происходит от слова «header», что в переводе значит «заголовок». Каждый уровень обозначается соответствующей цифрой.

H-теги глазами людей

Текст, разбитый на подзаголовки, смотрится более «опрятно», его проще читать. Современный пользователь уже давно научился сканировать статьи буквально за несколько секунд и оперативно делать выводы, стоит ли читать весь текст, есть ли в нем та полезная информация, которую он ищет. Заголовки цепляют глаз, выделяя главное и давая юзеру возможность проанализировать материал.

Теги h1, h2, h3, h4, h5, h6 позволяют создать для читателя некую карту, по которой он сможет быстро сориентироваться в тексте. И если этими выделениями удалось зацепить внимание, то человек задержится на странице и наверняка прочтет всю статью. Проверить результат можно по поведенческим факторам. Если люди задерживаются на странице, совершают какие-либо действия – значит работа по SEO была проделана не зря.

H-теги глазами поисковиков

Поисковые роботы собирают с них информацию для семантического анализа. Особое значение для ботов имеют заголовки уровней h1, h2, h3. Их непоследовательное или неправильное применение может негативно сказаться на ранжировании станицы. Если в HTML-коде вообще отсутствуют h-теги, то сайту придется туго в продвижении. Уровни h4, h5, h6 менее значимы.

Иерархия H-тегов

Главным правилом в расстановке заголовков является их иерархия. Необязательно, чтобы теги шли друг за другом по размеру, но недопустимо в тексте использовать, например, h3, если у вас нигде не присутствует мета h2 или применять h6 без h5.

Вот так выглядит иерархия с правильной вложенностью:

Что за тег h1

Тег h1 – это оглавление текста (все равно что название книги или заголовок статьи в газете).

На каждой странице должен быть один и только один тег h1.

В плане привлекательности для пользователя он имеет главное значение. Но для SEO-продвижения больший вес будет иметь .

Title – это тоже заголовок, но прописывается он не только для людей, но и для роботов. Он отображается не на самой станице, а только во вкладке браузера и в сниппете в качестве активной ссылки на сайт. Фактически title является альтернативным, но главным заголовком для html-документа. Если он отсутствует, то поисковая система берет за основу h1 и использует его в серпе.

Почему h1 должен различаться с Title

Довольно важно понимать, что h1 и Title — это разные заголовки. И их соответственно надо умело комбинировать. Вот азы на эту тему:

Пренебрежение правилами уникализации и релевантности заголовков может привести к тому, что сайт попадет под фильтр. Последнее время поисковые системы стали уделять особое внимание качеству контента и его SEO-настройкам. Дубли, переспам, хаотичное расставление заголовков, их несоответствие содержимому карается.

Требования по длине H1

H1 рекомендуется делать более лаконичным, чем Title, не превышая количество символов более, чем 50. Но не случится катастрофы, если заголовок получится длиннее, когда не удается втиснуть всю суть в обозначенное количество.

Специальные плагины для WordPress позволяют проанализировать правильное заполнение всех мет прямо в редакторе.

Правила для грамотного написания h1

  • Должен быть уникальным для всего сайта и абсолютно читабельным;
  • Не повторяет тег title, но и не противоречит ему;
  • Не стоит делать его слишком длинным (более объемным можно делать title);
  • Используется только 1 раз на каждую страницу;
  • Релевантен тексту и отображает смысловую суть материала;
  • Интересен, привлекателен для пользователя;
  • Нельзя ставить в конце точку и рекомендуется по минимуму использовать знаки препинания.

Применение ключей

Главные ключевые фразы, в первую очередь, должен содержать title. Но следует их писать и в h1. И там, и там лучше это делать в самом начале. Но лучше бы ключевые слова не дублировали друг друга в этих двух тегах. Нужно использовать разные словоформы или разбавленные вхождения в h1 и прямые в title.

Некоторые берут все ключи на страницу и из них составляют структуру статей. Сразу учтите — без классных ПФ такая россыпь ключей по подзаголовкам будет караться фильтром за переспам.

Психологические приемы для составления привлекательного заголовка

Заголовок должен быть «цепляющим». Вот видео от Максима Ильяхова, спеца в области СМИ, ректора Школы редакторов и создателя сервиса «Главред»:

Вот еще пара «приемов», которые применяются при составлении заголовков.

Решение проблемы

Помните, что человек всегда ищет не информацию или товары, а прежде всего – решение своих проблем, потребностей, нужд. Оперируйте именно к предполагаемой проблеме целевой аудитории

Пример удачного заголовка: «Выпадают волосы? Остановите выпадение за неделю».
Пример неудачного заголовка: «Можно ли остановить выпадение волос?»

В первом случае мы четко обозначаем проблему и предлагаем конкретное решение. Во втором случае проблема задета косвенно и варианты ее решения размыты.

Заинтриговать

Пример удачного заголовка: «Раскрываем секрет самого эффективного рецепта от выпадения волос».
Пример неудачного заголовка: «Лучший рецепт от выпадения волос».

Прием «экзамен»

Предложение, составленное в такой форме, бросает вызов читателю, предлагая ему проверить себя.

Пример удачного заголовка: «Вы уверены, что правильно боритесь с выпадением волос?»
Пример неудачного заголовка: «Все ли вам известно о выпадении волос».

Конечно, это далеко не все методы, которые помогают воздействовать на восприятие человека и привлечь его интерес. Читайте книги по маркетингу, чтобы вычитать больше, если интересна эта тема. Кстати title тоже может быть «заманивающим». Тем более что скорее всего именно он высвечивается в поисковой выдаче. Проверить его отображение можно будет после индексации страницы.

Зачем нужны подзаголовки h2-h6

Теги от h2 до h6 располагаются уже в теле самой статьи, структурно разделяя ее на тематические абзацы, и в коде HTML-документа, выделяя его значимые элементы. Они также идентифицируются поисковыми роботами для семантического анализа страницы.

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

h2 – акцентирует внимание пользователей и поисковых систем на основном содержании статьи. Показывает самое значимое в тексте.

h3 – является подпунктом для информации, идущей под H2, раскрывая ее еще глубже.

h4, h5, h6 – определяются, как вложенные подзаголовки (раскрывают детально суть H2 или H3) и используются в тексте, в качестве выделяющих мелкие пункты и значимые слова, а также в меню, сайдбаре и других составляющих веб-документа.

Длина всех h-тегов должна быть в пределах 50 символов.

Как правильно прописывать подзаголовки h2-h6

  • Нельзя, чтобы наименьший подзаголовок присутствовал без большего. То есть, если в тексте стоит метатег h4, то ему обязательно должны предшествовать h2 и h3.
  • Чем выше заголовок по уровню, тем крупнее должен быть и шрифт. В WordPress обычно по умолчанию настройки выставлены таким образом, что теги автоматически форматируются в правильном виде.
  • Все h-теги обязаны соответствовать содержанию контента, отображать суть информации.
  • Недопустимо использовать h1-h6 в качестве анкоров или активных ссылок.
  • Нельзя писать другие теги внутри тега h.
  • В h-тегах допускается только текст и знаки препинания.
  • В подзаголовках не должно быть переспама ключевых слов. Ключевики лучше всего задействовать в title, h1, h2, а в более мелких, таких как h3, h5, h6 делать упор на детальное раскрытие темы.

Если в разметке страницы прописан title и основной заголовок H1, но сам текст статьи не слишком большой и не содержит в себе подзаголовков, это не является ошибкой. В ТОПе находится немало страниц, где контент идет практически сплошной полосой, разве что разделенной на абзацы. Попасть в лидирующие позиции можно и без «колдовства» над разметкой текста, делая больший упор на . Сайты на WordPress прекрасно индексируются поисковиками. Но все же применение этих тегов не только облегчает задачу, но и делает контент более легким и приятным для визуального восприятия.

Как заполнять h-теги в WordPress

h1 заполняется обычно в поле над текстом в записи:

Чтобы сделать подзаголовки h2-h6, надо выделить необходимый элемент и, наведя курсор на вкладку «заголовки», выбрать нужный, кликнув по нему. Проделать то же самое для каждого из подзаголовков, включая их в нужный формат.

Есть еще более простой способ – можно набрать текст в Ворде, используя нужные разметки и просто копипастом перенести статью в редактор вордпресса. Выделенные в Word заголовки автоматически отобразятся в нужных размерах. При необходимости можно подправить их, используя инструменты редактора CMS WordPress.

Не вызывает сомнений тот факт, что теги Title и H1 играют ключевую роль во внутренней поисковой оптимизации и SEO-продвижении сайта. Именно поэтому среди вебмастеров-новичков возникают споры, как правильно заполнять Title и H1...

Должны ли заголовки быть одинаковыми, похожими или кардинально отличаться? Каковы требования поисковиков и рекомендации SEO-шников по наполнению тегов ? Каким образом Тайтл и H1 влияют на продвижение? Прописывать ли мета-заголовки вручную или довериться автоматике движков CMS (систем управления контентом)?

Title и H1: как составляются и чем отличаются

Мета-тег Title - главный заголовок страницы, который прописывается в верхней части HTML-кода и дополняется описанием (мета-тегом Description).

Заголовок Тайтл обосабливается в HTML-коде блоками ..заголовок.. и легко находится поиском (нужно открыть код страницы - комбинация Ctrl+U, перейти на вкладку с кодом, запустить поиск - Ctrl+F по фразе "title").

Кроме того, заголовок страницы:

Отображается в названии при открытии вкладки браузера;
- отличается по смыслу и целям от тега H1 - заголовка записи на странице;
- фиксируется онлайн-сервисами SEO-анализа;
- индексируется поисковыми роботами и учитывается при ранжировании;
- подтягивается в в момент репоста или при добавлении ссылки в соцсеть;
- заполняется вручную (через поля мета-тегов, специальные SEO-плагины) или автоматически;
- выводится в результатах выдачи поисковых систем как заголовок сниппета - короткого описания;
- влияет на кликабельность сайта в поиске, а значит, и на посещаемость.

В отличие от Title, тег H1 - заголовок первого уровня - размещается в теле страницы. Он также учитывается поисковыми алгоритмами при ранжировании и определении релевантности, но имеет меньшую значимость. В иерархической структуре программного кода тег H1 идет ниже, чем Title, но выше подзаголовков H2-H6.

Если вы пользуетесь CMS, тег Title в движке или генерируется автоматически (берется заголовок записи, а фактически содержимое тега H1) или создается вручную (заполнением мета-тегов страницы через специальные поля или SEO плагины).

Ручное заполнение предпочтительней, потому что вебмастер:

1) Устраняет дублирование текстовых блоков (чтоб Title отличался от H1).
2) Вставляет дополнительные ключи из расширенной семантики среднечастотных и низкочастотных запросов.
3) Управляет через Title заголовками сниппетов в выдаче.
4) Использует по желанию частичную автоматизацию.
5) Самостоятельно устанавливает порядок слов и знаков препинания в Тайтле.

Частичная автоматизация заполнения мета-тега Title экономит рабочее время вебмастера на ручном добавлении к заголовкам всех страниц сайта однотипных (статичных или динамичных) фрагментов текста. Автоматизация при желании может добавить в Тайтл: дату или год, URL главной страницы, название компании, E-mail, физический адрес офиса, телефонный номер.

Рассмотрим подробнее объективные требования и полезные рекомендации по составлению Title и H1, которые понравятся пользователям и поисковым роботам.

Требования к Title (Tag)

1. В рамках сайта не должно быть двух одинаковых Title.
2. Тег не может использоваться на странице 2 раза (у каждой страницы только 1 основной заголовок).
3. Присутствие в заголовках ключей из семантического ядра позитивно влияет на SEO (если нет переспама, иначе - ).
4. При заполнении тега используют буквы, цифры, знаки препинания, специальные символы.
5. Длина Title может быть разной, но она ограничивается визуально при формировании выдачи примерно до 7-8 слов (54-64 символа без пробелов), после которых ставится многоточие. При этом поисковики сами решают - что показать, а что скрыть.
6. Ключевые слова по возможности размещают в первой части мета-тега, ближе к началу.
7. Поисковые системы "читают" Тайтл полностью, даже если он обрезается в сниппетах.
8. Длинные заголовки страниц полезны для по среднечастотным и низкочастотным запросам.
9. Желательно не использовать в Title более 2-х повторов одного слова, как и "кривых" нелогичных ключей.
10. Заголовок страницы должен быть осмысленным, читабельным и привлекательным для посетителей (не использовать бездумный список всех ключей из семантики).
11. Стоп-символы (точки, дефисы, запятые, слеши, кавычки, скобки) применяют для деления ключевых слов и смысловых отрезков.
12. Ключевые фразы лучше использовать перед началом стоп-символов, где их значимость выше.
13. Стоп-слова в заголовке ("в", "на", "от", "с", "под") влияют на ранжирование в Яндексе.
14. Заголовок Title составляют с учетом специфики сайта, особенностей продвижения и каналов привлечения трафика (например, если источник переходов - рассылка, заголовок должен быть интригующим или "вирусным", если - поиск, акцент делается на SEO- и ).
15. При заполнении тегов помните, что они подтягиваются в соцсети, отображаются в сниппетах и влияют на решения пользователей кликнуть по ссылкам.
16. По возможности Тайтл должен быть уникальным во всем интернете.
17. Для увеличения конверсий добавляйте мотивирующие призывы (жми, закажи сейчас, читайте и пр.).

Не забывайте - ошибки заполнения Тайтл и перенасыщенность (переспам) ключами приводят к и проблемам с ранжированием!

Требования к H1 (Header)

1. Тег H1 обязан присутствовать на странице, но не более одного раза.
2. Заголовок первого уровня не дублирует Тайтл, но пересекается с ним по ключевым словам.
3. Содержимое тега иногда попадает в поисковые сниппеты как Description (описание).
4. Оптимальный H1 дополняет, семантически и информационно расширяет мета-тег Title.
5. Присутствие ключевых слов в теге позитивно влияет на SEO (если нет общего переспама).
6. Содержимое заголовка должно быть читабельным, релевантным контенту.
7. В теге нельзя использовать бессмысленное перечисление ключевых слов и точных "кривых" вхождений.
8. Требований к длине H1 не предъявляется, но она должна быть умеренной и целесообразной. Вставка всего текста страницы в тег заголовка первого уровня чревато серьезными неприятностями.
9. Согласно иерархической структуре H1 следует перед тегами H2-H6 и является более значимым. Следите за иерархией заголовков вашего сайта, не ставьте H1 после H2-H6.
10. При правильной настройке SEO-функций CMS тег формируется автоматически - берется из названия записи на странице.
11. Обычно тег H1 визуально акцентируется в тексте более крупным шрифтом или цветом, используется в начале контента.
12. H1 не нужно выделять ни подчеркиванием, ни курсивом, ни жирной заливкой, ни тегами Strong.
13. Не используйте одинаковых H1 на разных страницах сайта (во избежание путаницы и так называемой "каннибализации ключей").

После оптимизации перепроверьте страницу любым из SEO-аналитических онлайн-сервисов, чтоб теги Тайтл и H1 вместе с описанием и контентом суммарно не спамили по ключевикам.

Дополнять, но не дублировать.

В целом, дублирование Title и H1 допускается, но если вы всерьез занимаетесь SEO, то с помощью уникализации (корректировки) тегов можете улучшить позиции сайта. За счет различий в заголовках и правильного заполнения тегов реально:

Расширить семантику;
- повысить информативность и кликабельность сниппетов;
- дополнить страницу ключами точного, неточного и разбавленного вхождения;
- заложить основу для продвижения по ;
- увеличить SEO-потенциал и получить дополнительный трафик из поиска.

Если в процессе оптимизации возникнут вопросы или затруднения при заполнении тегов, смотрите на лидеров выдачи Яндекса/Google по вашим запросам. В ТОП-5 уже включены те площадки, которые поисковики сочли эталонными, "правильными". Анализируйте их и берите пример!

Приветствую всех, кто читает данную публикацию. Сегодня я хочу разобрать с вами ключевой инструмент языка – объекты JavaScript. Напомню, что js является кроссбраузерным и функционирует во всех ОС (windows, mac os и т.д.). В отличие от объектно-ориентированных языков программирования, в js реализация объектов значительно отличается от привычного функционала и вариаций использования экземпляров, например, в C#.

Поэтому после прочтения текущей статьи вы познаете главные отличительные черты скриптовых объектов, узнаете, какими способами их можно создать, обновить и удалить. Также я затрону тему, касающуюся свойств, методов и конструкторов, расскажу о полезных командах и конечно же немного о наследовании. Думаю, пришло время приступать к обучению!

Что из себя представляет объект в JavaScript и какими возможностями обладает?

В js объектами являются простые ассоциативные массивы (их еще также называют хэшами).

Что же такое ассоциативный массив?

Это структура данных, в которой хранится какое-то количество информации, относящееся и описывающее определенный элемент. Все данные структурированы и связаны между собой как «ключ =>значение».

К примеру, вам нужно описать автомобили. Тогда вы создаете объект avto и описываете в массиве его характеристики. Я решил описать марку машины (name), ее цвет (color) и стоимость (price). Ниже я прикрепил код реализации описанного задания.

1 2 3 4 5 var avto = { name: "BMW 116i", color: "black", price: 588000 };

var avto = { name: "BMW 116i", color: "black", price: 588000 };

Вот вы видите один из способов создания объекта с именем «avto». Name, color и price являются ключами, по которым в ходе написания приложения можно будет обращаться.

Этим примером я забежал вперед, поэтому сейчас разберем все по порядку.

Создать объект можно несколькими способами:

var avto = {}; или var avto = new Object ();

В обоих случаях создается пустой объект с известным именем, но первым вариантом пользуются гораздо чаще, так как его короче и удобнее писать.

Все про свойства

Теперь нужно заполнить пустой объект параметрами. Для этого необходимо добавить свойства, которые также выше я называл ключами. И опять-таки существует два способа объявления свойств.

Хочу отметить, что в JavaScript нет строгих рамок по созданию и инициализации таких параметров. Новые свойства могут появляться на протяжении всего кода, точно также как удаляться и обновляться.

Таким образом, можно сразу создать все ключи или же объявлять их по мере поступления. И даже если в ходе написания программы вы обратитесь к несуществующим ключам, ошибки не будет. В этом случае вернется “undefined”.

Первый способ.

Создание и обращение к свойствам через точку. Для реализации такого варианта нужно написать имя объекта, а после через точку приписать к нему наименование ключа и далее через знак равно присвоить какое-то значение:

avto.name = “ BMW 116i”

А вот в такой способ к существующим ключам вы добавите еще один элемент:

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

Второй способ.

Ничем не отличается от первого, если сравнивать их предназначения. Однако этот способ обладает небольшим преимуществом. Для такого варианта используются квадратные скобки:

avto[“name”] = “ BMW 116i”

А приятным добавлением является возможность создавать наименование свойств в виде любой строки. К примеру,

avto[“name of the car”] = “ BMW 116i”

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

var avto = {}; avto.name = "BMW_116i"; avto.price = 588000; var key = "price"; // была запрошена цена машины alert(avto);

Теперь перейдем к удалению свойств. Здесь все очень просто. Для удаления используется команда delete . Так, если к последнему примеру снизу дописать вот такие 2 строки:

delete avto.price;

alert (avto);

То с вызовом alert во второй раз диалоговое окно выдаст “undefined”.

Несколько слов о компактности

На текущем этапе я вам рассказал, как создать объект и описать его свойства. К этому я прикрепил контрольные примеры, однако самые внимательные из вас, дорогие читатели, заметили, что первый программный код несколько отличается от всех остальных.

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

Давайте-ка переберем наши свойства

В JavaScript можно быстро перебрать созданные свойства. Для этого был предусмотрен специальный механизм, более известный как цикл .

Если вы знакомы с другими языками программирования, то знаете, что чаще всего циклы создаются при помощи слова for , далее в круглых скобках прописывается условие перебора элементов.

В js оно напоминает своим внешним видом цикл foreach из языка C#. Ознакомьтесь с общим видом конструкции:

for (var obj in object) { // выполнение перебора}

где obj отвечает за название перечисляемых ключей,

object – за их значения.

А теперь вот вам конкретный примерчик.

1 2 3 4 5 6 7 8 var avto = { name: "BMW 116i", color: "black", price: 588000 }; for (var obj in object) { alert(obj + ":" + object) }

var avto = { name: "BMW 116i", color: "black", price: 588000 }; for (var obj in object) { alert(obj + ":" + object) }

Настало время познакомиться с методами

В скриптовом языке предусмотрено создание методов. Это абсолютно простой механизм, с помощью которого в любое время к любому объекту можно дописать метод или методы, которые расширяют возможности созданных ассоциативных массивов. Их также называют свойствами-функциями.

Js сам по себе очень динамичный и удивительный в какой-то степени. Это заключается в том, как можно создавать элементы разных типов. При изучении этого языка не нужно запоминать сложных конструкций, так как множество объявлений очень схожи между собой.

Так, для создания метода, нужно объявить объект, а после начать писать команду, точь-в-точь напоминающую создание свойств. Однако после «=» пишется уже не значение, а ключевое слово function (переменная). А далее в фигурных скобках ведется перечисление действий.

Вот реализация данного механизма:

var avto ={} avto.name = “BMV” avto.year = 1999 avto.drive = function(k) { alert(«Автомобиль проехал»+n+« км. »)} avto.drive(300) avto.drive(450)

Как видите, этот пример содержит свойства и методы, вызов которых изначально идентичен.

В JS есть еще и конструкторы?

Так точно! В этом языке все, что использует ключевое слово «new », автоматически становится конструктором. Так, выше вы видели объявление пустого объекта в виде: avto = new Object ();. Это и есть конструктор.

Для наглядности рассмотрите представленные строки ниже.

var bob = new Object ();

bob.name = «Bob Smith»;

Однако это не весь арсенал возможностей. В js можно создавать свои собственные конструкторы и после использовать их для объявления новых объектов.

Итак, я хочу «смастерить» пользовательский конструктор для уже родных автомобилей. Заметьте, что имя надо писать с большой буквы. Это отличительная черта функций. Для этого я пишу вот такую программную реализацию:

function Avto (name, price) {

this.name = name;

this.price = price;

Теперь при создании неограниченного количества объектов и применения к ним этого конструктора, все они будут относиться к одному классу. Например:

var car1 = new Avto («BMW», 650000);

var car2 = new Avto («Audi», 520000);

В добавок к этому внутри конструктора можно создавать методы.

Особенности наследования в JavaScript

Обычно во многих языках наследование основывается на классах, которые могут наследовать друг друга. Тогда можно услышать такие выражения, как «класс-предок», «дочерний класс» и т.д.

Однако в js все иначе. Здесь наследуются объекты.

Все наследование основывается на внутренней ссылке между объектами, которая известна под именем «прототип». Если к методу приписать через точку «.prototype», а далее прописать имя прототипа, то все объекты выбранного метода будут наследоваться от этого прототипа.

Перейдем к примеру.

function Transport (name) { this.name = name this.canDrive = true } var transport = new Transport ("avto") // создали объект transport function Bike (name) { this.name = name } Bike.prototype = transport // указываем, что все новые объекты этого класса будут использовать в качестве прототипа transport bike1 = new Bike ("for_sport") bike2= new Bike ("for_child") console.log(bike1.name) console.log(bike2.name) console.log(bike1.canDrive)

На этом я, пожалуй, закончу. Я рассказал вам о фундаментальных аспектах скриптового языка. Однако это только поверхностные знания. Далее будем углубляться. А пока не забывайте вступать в ряды моих подписчиков и делиться ссылкой на статью с друзьями. Удачи!

Пока-пока!

С уважением, Роман Чуешов

Прочитано: 97 раз

JavaScript является объектно-ориентированным языком . За исключением основных языковых конструкций типа циклов и операций отношения, почти все возможности JavaScript так или иначе реализованы с помощью объектов.

Иногда объекты используются явно для выполнения определенных задач, таких как, например, обработка документов (X)HTML и XML на основе объектной модели документа. В других случаях роль объектов менее очевидна, как, например, роль объекта String при работе с примитивными строковыми данными.

В предыдущих главах уже предлагались примеры, которые явно демонстрировали пользу встроенных объектов, но в этой главе мы приступим к непосредственному изучению объектов JavaScript.

Объекты в JavaScript

Объекты в JavaScript можно поделить на четыре группы.

  1. Пользовательские объекты, созданные программистом и имеющие структуру и сущность, которые соответствуют конкретной задаче программирования. Возможности создания и использования таких объектов мы обсудим в этой главе.
  2. Встроенные объекты предлагаются самим языком JavaScript. Среди них объекты, связанные с типами данных (String, Number и Boolean), объекты, позволяющие создавать пользовательские объекты и составные типы (Object и Array), и объекты, упрощающие выполнение типичных задач (например, Date, Math и RegExp). Возможности встроенных объектов регламентированы стандартом языка ЕСМА-262 и, в меньшей степени, спецификациями производителей браузеров.
  3. Объекты браузера, не являющиеся частью языка JavaScript, но поддерживаемые большинством браузеров. Примерами объектов браузера являются Window — объект, посредством которого осуществляется управление окнами браузера и взаимодействие с пользователем, и Navigator — объект, обеспечивающий информацию о конфигурации клиента. Поскольку большинство аспектов объектов браузера не регламентированы какими-либо стандартом, их свойства и поведение могут существенно зависеть как от браузера, так и от его версии. Объекты этого типа будут обсуждаться далее.
  4. Объекты документа являются частью объектной модели документа (DOM — Document Object Model), определенной консорциумом W3C. Такие объекты предоставляют программисту структурированный интерфейс документов (X)HTML и XML. Именно эти объекты обеспечивают JavaScript возможность манипуляции вложенными таблицами стилей (CSS — Cascade Style Sheet) и упрощают реализацию динамического HTML (DHTML). Доступ к объектам документа обеспечивается браузером через свойство document объекта Window (window. document). Подробно о модели DOM мы поговорим позже.

Принципы работы с объектами

Объект — это неупорядоченная совокупность данных, включающая примитивные типы данных, функции и даже другие объекты. Польза объектов заключается в том, -то они концентрируют в одном месте все данные и логику, необходимые для выполнения определенной конкретной задачи. Объект String хранит текстовые данные и предлагает множество функций, необходимых для действий с ними. Хотя присутствие объектов в языке программирования совсем не обязательно (в языке С, например, нет объектов), они определенно упрощают использование языка.

Создание объектов

Объект создается с помощью конструктора — функции специального вида, которая подготавливает новый объект для использования, инициализируя занимаемую Зъектом память. В главе 4 мы видели, что объекты можно создавать, применяя операцию new к их конструкторам. Применение этой операции заставляет конструктор создать новый объект, природа которого определяется вызываемым конструктором. Например, конструктор String () создает объекты String, а конструктор Array () — объекты Array. Именно так задаются имена объектных типов в JavaScript: по имени создающего объект конструктора.
Вот простой пример создания объекта:

var city = new String();

Этот оператор создает новый объект String и размещает ссылку на него в переменной city. Здесь конструктору не предлагается никаких аргументов, поэтому переменная city получит значение по умолчанию — в данном случае это пустая строка. Можно сделать этот пример более интересным, передав конструктору аргумент, задающий начальное значение:

var city = new String("Сан-Диего");