В JavaScript, за исключением чисел, строки, логического, нулевого и неопределенного, все другие значения являются объектами. Объекты могут быть объявлены непосредственно через литералы или вновь созданы через нового оператора. В отличие от языка Java, свойства в объектах JavaScript могут быть добавлены или удалены динамически; В то же время свойства в объектах также могут быть пустыми строками:
Кода -копия выглядит следующим образом:
// свойства в объекте могут быть добавлены/удалены динамически
var O = {x: 1, y: 2};
console.log (o); // Object {x = 1, y = 2}
Удалить Ой;
Оз = 3;
console.log (o); // Object {x = 1, z = 3}
// пустая строка разрешена в качестве свойства объекта
var o2 = {"": 88, "p": 99};
console.log (o2); // Object {= 88, p = 99}
// Для функции конструктора «Новая» операция возвращает объект.
Функциональный компьютер (x, y) {
this.x = x;
this.y = y;
}
var c = новый компьютер (126, 163);
console.log (c); // computer {x = 126, y = 163}
var c2 = новый компьютер (126); // отсутствующее значение параметра будет "неопределенным"
console.log (c2); // computer {x = 126, y = undefined}
CZ = 66;
console.log (c); // computer {x = 126, y = 163, z = 66}
Удалить Cy;
console.log (c); // computer {x = 126, z = 66}
Если функция, которая работает, не является конструктором класса, но является просто обычной функцией при использовании нового оператора для создания нового объекта, тогда JavaScript вернет пустой объект после выполнения функции:
Кода -копия выглядит следующим образом:
// Для чистой функции «новая» операция возвращает пустой объект.
Функция вычислить (x) {
console.log ("execute function compute");
вернуть x*2;
}
var a = new Compute ();
console.log (a); // вычислить {}
Свойство объекта
Объект в JavaScript имеет следующие 3 свойства:
1. Прототип. Ссылка, указывая на объект прототипа объекта. Свойство в объекте прототипа может быть унаследовано объектом.
2. Класс. Строка, представляющая имя класса объекта.
3. ОБЪЕДИНЯЕТСЯ. Логическое значение, указывающее, разрешено ли динамическое добавление свойств в объекте. Это свойство действительна только в Ecmascript 5.
Свойства недвижимости
Свойство в объекте также имеет 3 свойства:
1. Написано. Это недвижимость?
2. Выключен. При использовании оператора FO/In, будет ли свойство перечислено?
3. Подобно. Могут ли свойства собственности быть изменены и можно ли удалить свойство.