gpt4 book ai didi

javascript - 在 Javascript 中引用对象的层次结构

转载 作者:行者123 更新时间:2023-12-03 01:33:43 26 4
gpt4 key购买 nike

我有 Java 背景,希望以类似的方式引用事物。我不知道该去哪里寻找。 伪代码:

var elements = [];

class Element
{
constructor()
{
this.isClicked;
}
mouseOver()
{
///returns true if mouse is over
}
click()
{
this.isClicked = true;
}
unclick()
{
this.isClicked = false;
}

}

class Parent extends Element
{

constructor()
{
this.children = [];
this.x = 0;
this.y = 0;
elements.push(this)
}
addChild()
{
children.push(new Child(this));
}
}

class Child extends Element
{
constructor(Parent p)
{
this.parent = p;
this.x = 0;
this.y = 0;
elements.push(this)
}

move()
{
this.x = parent.x;
this.y = parent.y;
}
}

var liveElement;

function mousePressed()
{
for(Element e : elements)
{
if(e.mouseOver)
{
liveElement = e;
liveElement.click();
}
}
}

function mouseReleased()
{
liveElement.unclick();
liveElement = null;
}

是否可以在普通 JavaScript 中做这种事情?我还想在 elements 中水平引用所有对象。子对象应该能够在需要时引用父对象

最佳答案

是的,自 ES2015 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes) 以来,在 JS 中可以做类似的事情。如果应用程序应该在不同的浏览器和版本中运行,我建议您使用 Babel ( https://babeljs.io/ ) 等编译器,因为最后的 ES 功能与旧版浏览器不兼容。子类和父类之间的关系可以在 mdn 引用( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/super )中找到。希望对您有所帮助。

关于javascript - 在 Javascript 中引用对象的层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51173209/

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