gpt4 book ai didi

javascript - Object 返回其构造函数而不是 JS 中的 false。为什么?

转载 作者:行者123 更新时间:2023-12-02 19:12:15 25 4
gpt4 key购买 nike

请帮助我修复脚本的工作。

function KittyFactory(kitty) // kitty constructor
{
for (x in kitties)
{
if (kitties[x].color == kitty.color)
{return false;} // if already in the array return false
}
return kitty; // else return the object itself
}

function iPreferDifferentKitties(kitty)
{
if (new KittyFactory(kitty))
{
kitties[x].push(kitty);
}
}

但是,如果(kitties[x].color == kitty.color)true,则new KittyFactory(kitty)将为一个空的构造函数(函数本身)而不是我想要的巨大的 FALSE

我的问题基本上是我可以将两只具有相同颜色的小猫放入我的小猫数组中。 :( 让我伤心。

你能帮我看看我应该如何使用它吗?

最佳答案

您不能从构造函数返回false。当您使用 new 运算符调用函数时,返回值必须是对象。如果您尝试返回其他内容,则其行为就像没有 return 语句一样(默认情况下会返回新构造的对象)。

关于javascript - Object 返回其构造函数而不是 JS 中的 false。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13572727/

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