使用Object.getPropertyOf函数而不要使用__proto__属性 var obj = Object.create(null); console.log('__proto__' in obj); // false console.log(Object.getPrototypeOf(obj)); // null // 可以使用 __proto__属性来模仿 Object.getPropertyOf() 函数 if('undefined' === typeof Object.getPrototypeOf) { Object.getPrototypeOf = function(obj) { var t = typeof obj; if(!obj || (t !== 'object' && t !== 'function')) { throw new Error('not an object'); } return obj.__proto__; } } 源码 谨记 使用符合标准的Object.getPrototypeOf函数而不要使用非标准的__proto__属性。 在支持__proto__属性的非ES5环境中实现Object.getPrototypeOf函数。