Объекты объектов в JavaScript являются базовым классом всех объектов в JS, то есть все объекты в JS получены из объектов объектов. Объекты объектов в основном используются для инкапсуляции произвольных данных в форму объекта.
1. Введение в класс объекта
Класс объектов - это базовый класс (родительский класс) всех классов JavaScript, предоставляющий простой способ создания пользовательских объектов, не требуя от программистов для определения конструкторов.
2. Основные свойства класса объекта
1. Конструктор: конструктор объекта.
2.Prototype: Получить объект прототипа класса, статическое свойство.
3. Основные методы класса объекта
1. hashownproperty (propertyname)
Определяет, имеет ли объект конкретный атрибут. Это свойство должно быть указано с помощью строки, например, OBJ.HASOWNPROPERTY («Имя»), возвращая логическое значение. Этот метод не может проверить, имеет ли цепочка прототипа объекта это свойство; Это должно быть членом самого объекта.
var str = ""; alert ("str.hashownproperty (/" split/") IS:"+str.hashownproperty ("split")); // return falseAlert ("string.prototype.hashownproperty (/" split/") IS:"+String.prototype.hasownproperty ("split")); // вернуть истинуРезультаты работы:
Использование HasownProperty не только здесь. В JQUERY незаменимым шагом в написании плагинов является инициализация параметров. Одним из очень важных методов является $ .extend (); Его принцип - применять метод HasownProperty (); Используйте для петли, чтобы перейти к членам объекта, если есть члены объекта с таким же именем, если есть, замените старый на новый элемент объекта. Таким образом, мы можем изменить изменения параметра в методе для управления процессом программы. Для тех частей, которые не изменились, мы все равно можем использовать значение по умолчанию для его управления. Мы также можем просто имитировать эту функцию расширения, следующим образом
функция extend (target, source) {// target old source new for (var i in source) {if (target.hasownproperty (i)) {target [i] = source [i];}} return target;} var a = {"first":, "второй": "lyl", ":" var at var b = {"third": "ley"; a) {alert (a [i]); // Первоначально это был Боб, но теперь он стал Лео}2.isprototypeof (объект)
Определите, является ли объект прототипом другого объекта.
obj1.isprototypeof (obj2);
OBJ1 является экземпляром объекта; OBJ2 - это еще один объект, который проверит свою цепочку прототипа. Цепочки прототипа могут использоваться для обмена функциональностью среди разных экземпляров одного и того же типа объекта. Если прототип цепочки OBJ2 содержит OBJ1, то метод iSprototypeOF возвращает true. Если OBJ2 не является объектом, или OBJ1 не появляется в цепочке прототипа в OBJ2, метод ISPrototypeOF вернет false.
<script type = "text/javascript"> function foo () {this.name = 'foo';} function bar () {} bar.prototype = new foo (); var goo = new bar (); alert (goo.name); //fooalert(bar.prototype.isprototypeof(goo)) ;//true, если есть текущий объект Goo в цепочке прототипа бара, то метод iSprototypeof возвращает true </script>3. PropertyIsEnumerable (PropertyName)
Благодаря этому методу мы можем определить, является ли член этого объекта. Если он можно пройти, это доказывает, что этот объект можно пересечь, используя для цикла.
Формат выглядит следующим образом: obj.propertyIsenumerable (PropertyName)
Если в OBJ существует имя PropertyName и может быть исчерпывающе перечислена с использованием для… в цикле, то свойство PropertySeNumerable возвращает True. Если объект не имеет указанного свойства, или указанное свойство не подлежит перечислению, свойство PropertySeNumerable возвращает false. Как правило, предопределенные свойства не являются перечисленными, в то время как пользовательские свойства всегда перечисляются.
4.toString (): вернуть строку, соответствующую объекту
5.valueof (): возвращает исходный тип, соответствующий объекту
Вышеуказанные 5 методов определяются на объекте. Прототип. Все объекты в Ecmascript унаследованы от объекта, поэтому все объекты на ECMASCRIPT имеют несколько методов.
Тестовый код 1:
var p = new Object (); // Создать объект непосредственно через объект // динамический атрибут p.age =; p.name = "克到到到到" для p объектов; // расширять класс объекта и добавить aemption obj ent.write ("<pre>"); document.writeln ("p.constructor:"+p.constructor); // Получить конструктор объекта. document.writeln ("p.isprototypeof (p):"+p.isprototypeof (p)); document.writeln ("p.hashownproperty (/" age/"):"+p.hasownproperty ("Age")); Document.Writeln ("P.Property ISeRumerable (/" Age/"):: Document.Writeln (" P.Property (/""/""/") "+p.propertyIsenumerable (" age ")); document.writeln (" p.tostring (): "+p.tostring ()); document.writeln (" p.valueof (): "+p.valueof ()); document.write (" </pre> "); document.write (" </pre> "););Результаты работы:
Тестовый код 2:
var car = function () {}; car.prototype.hello = function () {alert ("hello car");}; var car = new car (); car.f = function () {alert ("custom Method");} document.write ("<pre>"); document.writeln ("car.hasownproper (/" f/"); "+car.hashownproperty (" f ")); // ture, Car -объект имеет метод f document.writeln (" car.propertyisenemerable (/"f/")) IS: "+car.propertyIsEnumerable (" f "); // ture, CAR Is Method, F -метод - это метод F - это метод F. document.writeln ("car.hasownproperty (/" hello/")"+car.hasownproperty ("hello")); // Неверно, потому что у самого автомобиля нет документа Method Hello.writeln ("car.propertyIsenumerable (/" hello/") Результат:"+car.propertyIsenumerable ("hello")); // Неверно, без этого метода, конечно, результат документа. // true, прототип автомобиля Car Class Car имеет документ Hello Method.writeln ("car.constructor.prototype.propertyisenumerable (/" hello/"), и результат:"+car.constructor.prototype.propertyisEnumerable ("Hello"); // true, прототип Car Car's Hello -Hello. document.writeln ("car.prototype.hashownproperty (/" hello/") и результат:"+car.prototype.hasownproperty ("hello")); // true, прототип автомобиля Car Class Car имеет метод hello document.writeln ("car.prototype.propertyeSenumeRable (/" hello/") "+Car.prototype.propertyisEnumerable (" hello ")); document.write (" </pre> ");Результаты работы:
Выше приведено подробное объяснение класса объекта в JS, которое редактор представил вам, включая краткое изложение точек знаний JavaScript (одиннадцать). Я надеюсь, что это будет полезно для вас.