Свойства объектов в ES5 можно разделить на «атрибуты данных» и «атрибуты доступа».
Атрибуты данных обычно используются для хранения значений данных. Атрибуты доклада соответствуют операциям установки/получения, и значения данных не могут быть сохранены напрямую.
Характеристики атрибута данных: значение, записываемое, перечисляемое, настраиваемое.
Объяснение: настраивается: true/false, можно ли удалить атрибут с помощью удаления, можно ли изменять характеристики атрибута, и может ли атрибут быть изменен на атрибут доклада, false по умолчанию;
Перечисление: TRUE/FALSE, независимо от того, можно ли это возвращать через цикл, по умолчанию false;
Записывается: true/false, может ли значение атрибута быть изменено, по умолчанию ложно;
Значение: не определен, установите значение свойства, по умолчанию не определен.
Атрибуты доклада: установить, получить, перечислять, настраивать.
Объяснение: настраивается: true/false, можно ли удалить атрибут с помощью удаления, можно ли изменять характеристики атрибута, и может ли атрибут быть изменен на атрибут доклада, false по умолчанию;
Перечисление: TRUE/FALSE, независимо от того, можно ли это возвращать через цикл, по умолчанию false;
Установить: функция, функция вызывается при чтении значений свойств;
get: функция, функция вызвана при изменении значения свойства.
Добавить свойства в объекты или изменить свойства существующих свойств с использованием метода object.defineproperty () или object.defineproperties ();
Object.DefineProperty (Object, PropertyName, Descriptor):
Пояснение параметров: объект: объект, который должен добавить или изменить атрибуты;
PropertyName: имя свойства, строковый формат;
Дескриптор: Описание атрибутов, свойства настройки атрибутов данных или атрибуты доклада.
Пример анализа:
Свойства данных:
var emp = {name: 'tom'}; Object.defineproperty (emp, 'name', {writeable: false}); emp.name = 'jery'; console.log (emp.name); // Выходные выводы, потому что записываемые для записи были установлены на falseobject.defineproperty (emp, 'Age', {configater: false, написание: true, значение: 22}); концентрирование. 22Emp.age = 25; console.log (emp.age); // output 25, Установка записываемого для записи - trueDelete emp.age; console.log (emp.age); // Выход 25, настраивается на False, это свойство не может быть удаленоСвойства доступа:
var emp = {_ name: 'tom', _ Age: 20}; object.defineproperty (emp, 'name', {get: function () {return this._name;}}); console.log (emp.name); // Выходная тома Метод, значение _name не может быть изменено object.defineproperty (emp, 'Age', {informaven: true, get: function () {return this._age;} set: function (age) {this._age = age;}}); emp.age = 25; Консоль. _age Использование метода GET DELETE emp.age; console.log (emp.age); // Вывод неопределенные, настраиваемая верно, вы можете использовать метод удаления для удаления атрибута emp.ageПримечание: атрибут доклада может сыграть хорошую роль в его защите. Когда есть только метод получить, он только для чтения и не может написать; Напротив, когда есть только набор, он может только писать, но не читать.
Выше приведено краткое обсуждение атрибутов данных JavaScript и атрибутов аксессуаров, которые редактор приносит вам. Я надеюсь, что все будут поддерживать wulin.com больше ~