gpt4 book ai didi

javascript - 为什么函数响应 .prototype 但常规对象不响应?

转载 作者:数据小太阳 更新时间:2023-10-29 06:10:40 26 4
gpt4 key购买 nike

考虑:

function Foo() {}
var x = new Foo();

现在 x 和 Foo 具有相同的原型(prototype),但只有 Foo 响应 .prototype:

Object.getPrototype(x) === Foo.prototype // true
x.prototype === Foo.prototype // false

Foo.prototype // Foo {} (depending on which browser)
x.prototype // undefined

为什么 x.prototype 不起作用,而 Foo.prototype 却起作用?

最佳答案

prototype 是构造函数的一个属性,它确定由该构造函数创建的新对象的原型(prototype)是什么。只有在构造函数上具有这样的属性才有用。

只要构造函数上的原型(prototype)没有改变:

Object.getPrototypeOf( x ) === Foo.prototype

这与:

Object.getPrototypeOf( x ) === x.constructor.prototype

一般注意:

Object.getPrototypeOf( Foo ) != Foo.prototype

关于javascript - 为什么函数响应 .prototype 但常规对象不响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34709911/

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