gpt4 book ai didi

javascript - 如何定义构造函数?

转载 作者:行者123 更新时间:2023-11-29 10:46:22 25 4
gpt4 key购买 nike

我需要一个不应作为函数调用的构造函数:

function Foo() {
...
};

var f = new Foo(); // ok
Foo(); // throws error

在这里搜索和found that也许我可以使用以下来检查它是否作为函数调用

if (!(this instanceof arguments.callee))

如果是这样,我应该抛出什么错误?

还有,有没有更好的方法来定义构造函数?

最佳答案

arguments.callee(不幸的是,恕我直言)在 ES5 严格模式下已弃用。

如果调用者忘记使用 new,我建议您实例化对象,而不是抛出错误:

function Foo() {
if (!(this instanceof Foo)) {
return new Foo();
}

...
};

关于javascript - 如何定义构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18716448/

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