Свойства объектов JavaScript

Свойства — самая важная часть любого объекта JavaScript.

Свойства — это значения, ассоциированные с объектом JavaScript. По сути объект JavaScript это набор неупорядоченных свойств.

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

Доступ к свойствам объекта JavaScript

Получить доступ к свойству объекта можно следующим образом:


имяОбъекта.свойство // person.age

или


имяОбъектасвойство«] // person[«age»]

или


имяОбъекта[выражение] // x = «age»; person[x]

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

Пример №1


 person.firstname + " было " + person.age + " лет."; 

Пример №2


 person["firstname"] + " было " + person["age"] + " лет."; 

Цикл for…in

Выражение for…in в цикле проходит по свойствам объекта.

Синтаксис:


for (переменная in
объект) {
   выполняемый код
}

Блок кода внутри цикла for…in выполняется один раз для каждого свойства объекта.

Пример прохода по всем свойствам объекта:


var person = {fname:"Иван", lname:"Петров", age:25}; 

for (x in person) {
    txt += person[x];
 } 

Добавление новых свойств

Чтобы добавить новое свойство существующему объекту, нужно просто присвоить ему значение.

Предположим, что объект person уже существует. Вы можете добавить ему новое свойство:


 person.nationality = "English"; 

Внимание! В качестве имен свойств (или методов) нельзя использовать зарезервированные слова. Здесь действуют правила образования имен в JavaScript.

Удаление свойств

Ключевое слово delete удаляет свойство из объекта:


var person = {firstName:"Иван", lastName:"Петров", age:50, eyeColor:"карие"};
delete person.age;   // или delete person["age"];

Ключевое слово delete удаляет как значение свойства, так и само свойство.

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

Оператор delete используется только со свойствами объектов. Он не работает с переменными или функциями.

Не следует использовать оператор delete с предопределенными свойствами объектов JavaScript. Это может нарушить работу вашего приложения.

Атрибуты (метаданные) свойств

У всех свойств есть имя. Кроме этого, у них также есть значение.

При этом каждое свойство имеет следующие атрибуты или метаданные:

  • value — содержит непосредственно данные
  • enumerable — определяет доступность свойства для перечисления
  • configurable — определяет доступность свойства для изменения (например, может ли свойство быть удалено, может ли быть изменен какой-либо атрибут свойства)
  • writable — определяет, доступно ли данное свойство для записи (по умолчанию, true)

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

В JavaScript все атрибуты можно прочитать, но изменить можно только атрибут value (и только в том случае, если свойство изменяемо).

В ECMAScript 5 есть методы для чтения и записи всех атрибутов свойства.

Свойства прототипа

Объекты JavaScript наследуют свойства своих прототипов.

Оператор delete не удаляет наследованные свойства, но если вы удалите свойство в прототипе, то это повлияет на все объекты, которые наследуют от этого прототипа.

msiter.ru

JavaScript | Объекты

1000 руб скидки на курс по C# Toggle navigation Professor Web
  • C# 5.0 и .NET 4.5
    • Руководство C# — Часть 1
    • Руководство C# — Часть 2
    • Основы .NET
    • Сборки .NET
    • Потоки и файлы
    • Работа с сетью
    • Оптимизация приложений
  • WPF
    • Основа WPF
    • Элементы управления WPF
    • Привязка и стили
    • Графика и анимация
    • Шаблоны WPF
    • Периферия WPF
  • Темы WPF
    • Dark Blue UI
    • Dark Orange UI
  • Silverlight 5
  • Работа с БД
    • ADO.NET
    • Entity Framework 6
    • SQL Server 2012
    • Оконные функции
  • LINQ
    • LINQ to Objects
    • LINQ to XML
    • LINQ to DataSet и SQL
    • LINQ to Entities
    • Parallel LINQ
  • ASP.NET
    • Основы ASP.NET
    • Веб-сайты
    • Безопасность
    • Интернет магазин
    • ASP.NET Web Forms 4.5
    • ASP.NET MVC 5
    • Аутентификация
  • Windows 8/10
    • WinRT — основы
    • WinRT — расширения
  • Программы
    • Expression Blend 4
    • Visual Studio

professorweb.ru

объекты — Как правильно создать объект в объекте и создать для него свойства ? [JavaScript]

Stack Overflow на русском

Loading…

  1. 0
  2. +0
    • Тур Начните с этой страницы, чтобы быстро ознакомиться с сайтом
    • Справка Подробные ответы на любые возможные вопросы
    • Мета Обсудить принципы работы и политику сайта
    • О нас Узнать больше о компании Stack Overflow
    • Бизнес Узнать больше о поиске разработчиков или рекламе на сайте

ru.stackoverflow.com