4

在 Ruby 中,为了获得绝对干净的继承链,您可以继承 fromBasicObject而不是Object. 这样,您就没有一个对象,其中包含您不一定想要的方法(属于 的方法Object.prototype)。

JavaScript 是否有类似的定义基本对象的方法?

function Person(name){
    this.name = name
}
var mac = new Person('Mac')
delete mac.toString        //does not work
delete mac.hasOwnProperty  //does not work

delete一旦通过构造函数实例化一个对象,如果这些属性实际上是原型上的方法,就不可能从对象中获取属性。

我不想在我的对象上使用这些方法。

4

1 回答 1

5

您可以通过调用创建一个完全没有属性的对象Object.create(null)

然后,您可以将其设置为函数的prototype.
(而不是默认原型,它以Object.create(Object.prototype).

于 2013-05-29T19:01:51.313 回答