gpt4 book ai didi

javascript - 在 Javascript 中使用类变量

转载 作者:行者123 更新时间:2023-11-28 19:31:40 25 4
gpt4 key购买 nike

我正在尝试用 Javascript 创建一个类(或者任何等效的类),它将计数存储在类变量中,以便构造函数可以为创建的对象分配一个 id。类似于以下内容:

Shift = function(hour) {
this.id = Shift.idCount;
Shift.idCount++;
}

但是我不知道 idCount 应该在哪里初始化甚至定义。有办法做到这一点吗?

最佳答案

我会用一个闭包来做到这一点:

var Shift = function() {
var idCount = 1; // initial id
return function Shift(hour) { // this is the actual constructor
this.id = idCount++;
// other initialization ...
};
}();

var aShift = new Shift(9);
alert(aShift.id); // 1

var anotherShift = new Shift(17);
alert(anotherShift.id); // 2

它使用匿名包装函数来提供一个可以维护计数器的闭包。匿名函数返回稍后将调用的实际构造函数。每次调用构造函数都会将计数器的当前值复制到新对象的“id”属性,并递增它。

请记住,当您学习 JavaScript 继承时,实际上并没有与 C# 或 Java 等语言中的“类”概念直接等效的概念。让 JavaScript 表现得像那些语言的尝试几乎总是以挫败和心碎告终。

关于javascript - 在 Javascript 中使用类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26653637/

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