gpt4 book ai didi

javascript - 如何使用 es6 js 类表示法自动增加 id 值?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:21:42 25 4
gpt4 key购买 nike

我对 es6 中的类有一些疑问。每次创建对象时,我都需要自动增加 id 值。真的不明白我如何声明变量,为 _id 赋值,然后递增增量变量。

    class Rectangle {

constructor(name,width,height,x,y) {
if (typeof(name) === 'string' && typeof(width,height,x,y) === 'number' ) {
this._id = ?;
this._name = name;
this._width = width;
this._height = height;
this._x = x;
this._y = y;

var div = document.createElement("div");
document.body.appendChild(div);
div.id = this._id;
div.style.width = this._width + "px";
div.style.height = this._height + "px";
div.style.backgroundColor = "#ededed";
div.innerHTML = name;


}

else {
alert("No way!");
return false;
}


}

moveObj(dx,dy) {
this._x = this._x + dx
this._y = this._y + dy
console.log(this._x,this._y)
return this;
}

getCoords() {
let x = this._x;
let y = this._y;
return [x,y];
}
}

最佳答案

只需在 Rectangle 类中添加一个 ID 生成器作为静态方法:

class Rectangle {

constructor() {
this._id = Rectangle.incrementId()
}

static incrementId() {
if (!this.latestId) this.latestId = 1
else this.latestId++
return this.latestId
}
}

关于javascript - 如何使用 es6 js 类表示法自动增加 id 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41916349/

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