Javascript检测实例属性、原型属性 浏览:705

0。前提

Javascript对象的属性分为两种现有形式。一个在实例中,另一个在原型对象中。

根据上述情况,在检测到财产时,有4起案件。

既没有实例也没有原型对象。

在现有的实例中,对象中没有原型。

没有原型对象存在的实例。

在现有的实例中,也有原型对象。

1.hasownprototype()

HasOwnPrototype()接受一个字符串格式属性名称。如果实例本身存在,则返回属性(情况2 /情况4)。否则,它返回false(情况1 /案例3)。(真的。)

复制代码代码如下所示:

Functino (Person) {}

person.prototype.name = 'apple;

VaR甲=新的人();

var 2 =新的人();

person1.name = 'banana;

console.log(person1.hasownprototype(名称) / /真实);

console.log(person2.hasownprototype(名字)); / /假



2.in算子

不管实例本身还是原型对象中的属性是否存在,操作符都返回true,否则返回false(情况1)2(3)。

复制代码代码如下所示:

console.log('name'in甲); / /真的

console.log('name'in 2); / /真的



三.检测原型存在的属性

结合运营商和hasownproperty(),可以定义一个函数来检测是否一个给定的属性存在于一个原型。

复制代码代码如下所示:

功能hasprototypeproperty(对象的名字){

返回!Object.hasOwnPrototype(名字)(名字对象);

}

console.log(hasprototypeproperty(甲,'name')); / /假

console.log(hasprototypeproperty(2,'name') / /真实);



给定的属性存在于原型中,并返回true(情况3)。否则,返回false(案例1,案例2,案例4)。

这是本文的全部内容,希望大家能喜欢。
推荐文章1
广告