确定原型与实例的关系

1.**instanceof** 操作符,只要用这个操作符来测试实例与原型链中出现过的构造函数,结果就会返回 true

  1. alert(instance instanceof Object); //true
  2. alert(instance instanceof SuperType); //true
  3. alert(instance instanceof SubType); //true
  4. //代码例子高程P165

2.**isPrototypeOf ()** 方法,只要是原型链中出现过的原型,都可以说是该原型链所派生的实例的原型,结果就会返回 true

alert(Object.prototype.isPrototypeOf(instance)); //true
alert(SuperType.prototype.isPrototypeOf(instance)); //true
alert(SubType.prototype.isPrototypeOf(instance)); //true
//代码例子高程P165
3.**Object.getPrototypeOf ()** 方法,这个方法返回 [[prototype]] 的值,使用 Object.getPrototypeOf () 方法可以方便的取到一个对象的原型

alert(Object.getPrototypeOf(person1) == Person.prototype); //true
alert(Object.getPrototypeOf(person1).name); //“Nicholas”
//代码例子高程P149