gpt4 book ai didi

javascript - javascript中类的单个实例

转载 作者:行者123 更新时间:2023-12-04 01:33:47 25 4
gpt4 key购买 nike

Javascript 允许将函数定义为

function Name() { content; }

var Name = function() { content; }

是否有类的等价物?我正在寻找创建类的单个实例。我知道该怎么做的唯一方法是

function ClassName() { content};
var instance = new ClassName();

我不能将这两个组合成一个语句吗?

谢谢!

最佳答案

如果您只想要一个单例,则根本不必使用函数来创建对象:

var instance = {
name: "foo",
method: function() {
// do something
}
};

这将创建一个具有 namemethod 属性的对象。如果你不想,你不必像那样通过初始化添加它们,你可以这样做:

var instance = {};
instance.name = "foo";
instance.method = function() {
// do something
};

我通常在定义单例或“类”(实际上是构造函数)时使用函数,但那是因为我对命名函数(我分配的上面的函数method 属性是anonymous,这意味着我的工具帮不上什么忙——调用堆栈等)。所以我可能会这样做:

var instance = (function() {
var publicSymbols = {};

publicSymbols.name = "foo";

publicSymbols.method = instance_method;
function instance_method() {
// do something
}

return publicSymbols;
})();

...尽管我通常为 publicSymbols 使用较短的名称(希望相当清楚它的作用)。一方面,这让我拥有了真正私有(private)的功能,单例或“类”可以使用这些功能,而其他人无法看到。 More here.但这是一种风格选择;它可以像上面的前两个示例一样简单。

关于javascript - javascript中类的单个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4605044/

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