hasOwnProperty与isPrototypeOf
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hasOwnProperty与isPrototypeOf相关的知识,希望对你有一定的参考价值。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>hasOwnProperty与isPrototypeOf</title> </head> <body> <script> // hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。 // isPrototypeOf:是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回false。 function person(firstName,lastName) { this.firstName=firstName; this.lastName=lastName; } person.prototype.setName=function(){ return this.firstName+‘,‘+this.lastName } var jone=new person(‘jone‘,‘chen‘); jone.age=30 console.log(jone.setName()); // ==>jone,chen console.log(jone.hasOwnProperty(‘setName‘)) // ==>false console.log(jone.hasOwnProperty(‘age‘)) // ==>true console.log(jone.hasOwnProperty(‘firstName‘)) // ==>true console.log(person.prototype.isPrototypeOf(jone)); // ==>true console.log(person.prototype.isPrototypeOf(‘jone‘)); // ==>false </script> </body> </html>
hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
isPrototypeOf:是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回false。
以上是关于hasOwnProperty与isPrototypeOf的主要内容,如果未能解决你的问题,请参考以下文章
for in 与 Object.keys 与 hasOwnProperty区别
markdown JS在运算符与hasOwnProperty()方法中
spring源码分析——BeanFactory与FactoryBean的区别
为啥使用 Object.prototype.hasOwnProperty.call(myObj, prop) 而不是 myObj.hasOwnProperty(prop)?