まず、ナレッジベース:
1、hasOwnPropertyを()メソッドは、オブジェクトがプロトタイプオブジェクトに存在する本実施例で使用されているオブジェクトインスタンスの特性を検出するために用いることができます。
person1.hasOwnProperty("name") 实例对象调用该方法,将属性名传入该方法,
(1)属性是对象本身的,返回true,
(2)属性存在于原型对象,返回false;
2は、実際に操作者が:
(1)公式の説明:指定されたプロパティに関係なくプロパティは試作例に存在するかどうか、オブジェクトにオペレータによってアクセスすることができる場合に真を返します。
(2)方言:オブジェクトのインスタンスは、オブジェクトのインスタンス自体がtrueを返し、プロトタイプオブジェクトに存在するか否かの属性を有しているときはいつでも、このプロパティは、オブジェクトのプロパティインスタンスが存在するか否かを検出するために使用されると言うことができる;
(3)使用:オブジェクトインスタンスでPERSON1プロパティの「名前」。
第二に、検出されたプロパティの両方の構文本を使用するプロトタイプ例であります
function hasPrototypeProperty(object, name){
return !object.hasOwnProperty(name) && (name in object);
}
hasOwnProperty() 方法返回true,说明属性不是存在于实例对象中,in操作符返回true,说明属性存在,方法返回true说明属性存在于原型对象中;
ます。https://www.jianshu.com/p/b6d37c1bb9d7で再現