gpt4 book ai didi

javascript - 为什么 isPrototypeOf 返回 false,但我可以上原型(prototype)链?

转载 作者:行者123 更新时间:2023-11-29 21:52:16 25 4
gpt4 key购买 nike

也许我对原型(prototype)继承的理解不对。有趣的是我继承了我的对象,但仍然返回 false。抱歉,对于那些要拒绝我的人来说,这是一个愚蠢的问题。

是的,为了演示目的,我故意拼写出我的变量和/或对象,是的,我是故意尝试使用 .create 来反对 new ()。

var VehiclePrototype = {
type: "car"
};

var carPrototype = Object.create(VehiclePrototype);

carPrototype.wheels = null;
carPrototype.make = null;
carPrototype.model = null;

var jamesCar = Object.create(carPrototype);

var x = jamesCar.type
alert(x);

alert(Object.isPrototypeOf(jamesCar, VehiclePrototype)); //false

最佳答案

您调用的函数不正确。尝试:

alert(VehiclePrototype.isPrototypeOf(jamesCar));

.isPrototypeOf() 函数在 Object prototype 上——这意味着它可以作为任何对象的方法调用。您可以将其作为要测试的对象的方法来调用,以查看它是否是其他某个对象的原型(prototype)。 (另一个对象是参数。)

请注意,您的代码不是错误,因为它不是真的错误,至少在 JavaScript 术语中是这样。您的电话询问对象构造函数是否是“jamesCar”对象的原型(prototype),显然不是。

关于javascript - 为什么 isPrototypeOf 返回 false,但我可以上原型(prototype)链?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28521045/

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