Обзор
Метод hasownproperty () используется для определения того, содержит ли объект указанное свойство.
грамматика
obj.hashownproperty (опора)
параметр
• опора
• Название атрибута, которое будет обнаружено.
описывать
Все объекты, которые наследуют объект. Этот метод может быть использован для определения того, содержит ли объект конкретное свойство. В отличие от оператора, этот метод будет игнорировать свойства, унаследованные от цепочки прототипа.
Пример
Пример 1: Используйте метод HasownProperty, чтобы определить, содержит ли объект конкретное свойство
В следующем примере обнаруживается, содержит ли объект o собственное атрибут:
Кода -копия выглядит следующим образом:
O = new Object (); O.Prop = 'существует
o.newprop = o.prop;
DELETE O.PROP;} O.HASOWNPROPERTY ('prop');
// вернуть истину
readio ();
O.hashownProperty ('prop');
// вернуть ложь
Пример 2: Разница между вашими собственными атрибутами и унаследованными атрибутами
Следующий пример демонстрирует разницу между методом HasownProperty обрабатывает свои собственные свойства и унаследованные свойства:
Кода -копия выглядит следующим образом:
o = new Object (); o.prop = 'существует'; o.hashownproperty ('prop');
// вернуть истину
O.hashownProperty ('tostring');
// вернуть ложь
O.HashownProperty ('HasownProperty');
// вернуть ложь
Пример 3: Итерация через все свойства объекта
Следующий пример демонстрирует, как игнорировать унаследованные свойства при переселении всех свойств объекта. Обратите внимание, что для ... в цикле будет только проходить перечисляемые свойства, которые обычно мы хотим. Он также может достичь аналогичных требований непосредственно, используя метод object.getownPropertyNames ().
Кода -копия выглядит следующим образом:
var buz = {
FOG: 'Stack'};
for (var name in buz) {
if (buz.hashownproperty (name)) {
Alert ("Это туман (" + name + ") наверняка. Value:" + buz [name]);
}
еще {
оповещение (имя);
// tostring или что -то еще
}}
Пример 4: Метод HasownProperty может быть заблокирован
Если у объекта есть свой метод HasownProperty, метод того же имени на цепочке прототипа будет затенен:
Кода -копия выглядит следующим образом:
var foo = {
HasownProperty: function () {
вернуть ложь;
},
Бар: «Здесь будь драконами»}; foo.hasownproperty ('bar');
// всегда возвращать ложь
// Если вы беспокоитесь об этом, вы можете напрямую использовать реальный метод HasownProperty в цепочке прототипа
({}). hasownproperty.call (foo, 'bar');
// истинный
Object.prototype.hashownproperty.call (foo, 'bar');
// истинный
Приведенное выше контент, описанный в этой статье, надеюсь, вам понравится.