你可以覆盖 Chrome/V8 中的 Object,如果你这样做了,就会发生不好的事情。键入以下内容将获得这些响应。
> Object
 function Object() { [native code] }
> Number
 function Number() { [native code] }
查看 Number.prototype 我们可以看到一整套方法和 Object 作为 Number 的原型:
Number
constructor: function Number() { [native code] }
toExponential: function toExponential() { [native code] }
toFixed: function toFixed() { [native code] }
toLocaleString: function toLocaleString() { [native code] }
toPrecision: function toPrecision() { [native code] }
toString: function toString() { [native code] }
valueOf: function valueOf() { [native code] }
__proto__: Object
  __defineGetter__: function __defineGetter__() { [native code] }
  __defineSetter__: function __defineSetter__() { [native code] }
  __lookupGetter__: function __lookupGetter__() { [native code] }
  __lookupSetter__: function __lookupSetter__() { [native code] }
  constructor: function Object() { [native code] }
  hasOwnProperty: function hasOwnProperty() { [native code] }
  isPrototypeOf: function isPrototypeOf() { [native code] }
  propertyIsEnumerable: function propertyIsEnumerable() { [native code] }
  toLocaleString: function toLocaleString() { [native code] }
  toString: function toString() { [native code] }
  valueOf: function valueOf() { [native code] }
但是如果我们覆盖 Object
Object = {}
Number 的原型有点奇怪:
Number.prototype
   > Number
  ...empty...
由于 Object 是层次结构的根,因此如果将其重新分配给另一个对象,则会出现一些悖论。