但我们可以再建立一棵原型树,通过使用Object.create方法 var foo = Object.create(null); //foo是一个对象,但它是游离的,不属于已有的那棵原型树 var bar = Object.create(foo); //bar的原型是foo var baz = Object.create(foo); //baz的原型是foo
这样我们有了第二棵原型树
遍历原型链 我们没有办法遍历到所有以某个对象为原型的对象,但我们可以向上遍历,获取到一个对象所有的上层原型,这个原型链必定是线性的,尽头是null. function getPrototypeChain(object) { var protoChain = []; while (object = object.__proto__) { protoChain.push(object); } protoChain.push(null); return protoChain; }