ECMA-262 определяет объект как: «Сборник неупорядоченных атрибутов, атрибуты которых могут содержать основные значения, объекты или функции».
Самый простой способ понять объект - создать экземпляр объекта, а затем добавить в него свойства и методы
Кода -копия выглядит следующим образом:
var person = new Object ();
person.name = "xulei";
Person.age = "23";
Person.job = "Front-End Engineer";
person.sayname = function () {
оповещение (this.name);
}
Вы также можете написать это
Кода -копия выглядит следующим образом:
var person = {
имя: "xulei",
Возраст: 23,
Работа: «Фронт-эндовый проект»,
sayName: function () {
оповещение (this.name)
}
}
1. Тип атрибута: атрибуты данных и доступ к их атрибутам
1. Атрибуты данных, с 4 характеристиками, которые описывают их поведение
[Настраивается]: указывает, можно ли удалить атрибут для переопределения атрибута, можно ли изменить характеристики атрибута, или может быть изменен атрибут на атрибут доклада, значение по умолчанию является true
[Перечисляется]: указывает, может ли атрибут быть возвращен через подачу в подачу, значение по умолчанию верно
[Записывается]: указывает, может ли атрибут быть изменен, значение по умолчанию верно
[Значение]: содержит значение данных этого свойства. Значение по умолчанию не определена
Кода -копия выглядит следующим образом:
var person = {
Имя: "Xulei"
}
Здесь создан объект человека, а значение значения - «Xulei»
Чтобы изменить свойства свойства по умолчанию, ecmascript5 Object.DefineProperty (объект, где находится свойство, должно использоваться имя свойства, объект дескриптора))
Объект дескриптора должен быть настраиваемым, перечисляемым, записи, доступно, значение
Кода -копия выглядит следующим образом:
var peron = {}
Object.defineproperty (peron, "name", {
Запись: ложь, // собственность не может быть изменена
Значение: "Сюй Лей-Хулей"
});
Alert (peron.name); // xulei-xulei
peron.name = "Xu Lei";
Alert (peron.name); // xulei-xulei
Вышеуказанная операция будет проигнорирована в нетронутом режиме, а исключение будет брошено в строгом режиме.
После того, как свойство определяется как невыполнение, оно не может быть превращено в настраиваемое.
В большинстве случаев нет необходимости использовать эти расширенные функции, предоставленные методом Object.DefineProperty (). Но это очень полезно для понимания JavaScript.
Читателям рекомендуется не использовать этот метод на IE8.
2. Доступ к его свойствам, есть 4 характеристики
[Настраивается]: указывает, можно ли удалить атрибут для переопределения атрибута, можно ли изменить характеристики атрибута, или может быть изменен атрибут на атрибут доклада, значение по умолчанию является true
[Перечисляется]: указывает, может ли атрибут быть возвращен через подачу в подачу, значение по умолчанию верно
[Get]: функции, вызванные при чтении
[Set]: функция вызвана при написании атрибутов