gpt4 book ai didi

javascript - 有没有办法隐藏 Object.prototype 的属性?

转载 作者:行者123 更新时间:2023-11-28 09:07:56 26 4
gpt4 key购买 nike

如果我向 Object.prototype 添加一个属性,例如Object.prototype.sth = "某物";

那么,有没有办法隐藏指定对象的属性呢?我尝试过这样的:

function Foo() {
// sth...
}
Foo.prototype = null;
var bar = new Foo();

但是,bar 仍然可以访问该属性;

<小时/>

bar.__proto__ = nullFoo.prototype.__proto__ = null 有效

最佳答案

我认为做到这一点的方法是:

  function Foo() {
this.sth = null
// or this.sth = undefined;
}

var bar = new Foo();
  • Foo.prototype = null;:bar.__proto__将直接指向Object.prototype
  • 如果没有 Foo.prototype = null;:bar.__proto__ 将指向 Foo.prototypeFoo.prototype .__proto__ 指向 Object.prototype

另一种方式:

function Foo() {
// sth...
}
Foo.prototype.sth = undefined;
//or Foo.prototype.sth = null;
var bar = new Foo();

关于javascript - 有没有办法隐藏 Object.prototype 的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16686152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com