cuốn sách gpt4 ai đã làm

javascript - 在 Javascript 中,为什么 Object.getPrototypeOf(person) 有效,而 person.getPrototypeOf(person) 无效?

In lại Tác giả: Walker 123 更新时间:2023-11-28 16:11:56 29 4
mua khóa gpt4 Nike

对于下面的代码,我想知道为什么 Object.getPrototypeOf(person) 可以工作,但 person.getPrototypeOf(person) 不起作用?我认为规则是:如果对象没有这样的属性或方法,它会沿着原型(prototype)链向上尝试获取它,并在 cái này 上调用它(例如 Animal .getName.call(this) TRONG cái này Đúng woofie 对象的上下文)。那么在这种情况下, person.getPrototypeOf(person) 应该变成 Object.getPrototypeOf.call(person, person) 并且也应该工作?

function Person(name) {
this.name = tên;
}

var person = new Person("Ang Lee")

console.log("the prototype of person is", Object.getPrototypeOf(person));

gia hạn:对于说 getPrototypeOf 是静态方法的答案,这是否意味着:

function Person(name) {
this.name = tên;
this.foo = function() { ... }
}

Person.bar = function() { ... }

那个foo是“在链中”,并且可以被任何继承的对象调用,而bar不是,并且bar就像getPrototypeOf,这是一个静态方法?

câu trả lời hay nhất

Object.getPrototypeOfĐúng Object 的属性类型本身,而不是 prototypecủaObject .

因为它实际上不在原型(prototype)链中,所以调用person.getProtoTypeOf()时不会找到它。 .

它更类似于其他 OO 语言中的“静态方法”。

关于javascript - 在 Javascript 中,为什么 Object.getPrototypeOf(person) 有效,而 person.getPrototypeOf(person) 无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12661777/

29 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress