gpt4 book ai didi

javascript - 对象字面量中的静态类

转载 作者:行者123 更新时间:2023-12-03 08:51:37 24 4
gpt4 key购买 nike

现在我的应用程序中有以下静态类:

function Tools() { }
Tools.someFunction = function(arg1, arg2) {
// do something
};

但是我正在将 js 文件的架构更改为包含所有类的一个对象文字,因此我需要类似的内容:

var app = {
someController: function() {

};
tools: function() ...
};

其实我有两个问题:- 这是 javascript 中将所有代码包装在一个大对象中的良好架构吗?- 如何将该静态类附加到该文字中?

最佳答案

首先,忽略“类”一词并使用“原型(prototype)”。 ECMA-Script 6 及更高版本引入了基于类的面向对象编程,但您的代码似乎正在使用基于原型(prototype)的继承系统。嗯,事实上,您只是使用构造函数创建对象。构造函数

使用正确的术语是与社区沟通的良好开端。

其次,在 JavaScript 中没有静态类。函数在 JavaScript 中是必不可少的,而且它们仍然是对象。与对象一样,函数是可扩展的,并且您可以添加属性,除非您对它们调用 Object.preventExtensions

只是你的构造函数还有一个保存函数的属性。

如果您想将该构造函数作为 app 对象的一部分,请将其添加为常规属性:

var app = {
Tools: function() {}
};

app.Tools.someFunction = function() {

};

is this a good architecture in javascript to wrap all code in one big object?

当然。但使用 模块模式。网上有大量关于该主题的文章。您可能想查看其他问答: why module pattern? .

关于javascript - 对象字面量中的静态类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32652181/

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