大家好,我正在研究光线跟踪算法,我想通过在Three.js中从不同位置拍摄线条来展示不同的可能性。我只想了解以下有关此行代码以及如何使用或完全不使用它的信息。
const Ray_Techniques = class {
MANAGER() {
return{
FRT: function(){
return{
//Shoot lines in stage entry
};
},
BRT: function(){
return{
//Shoot lines in stage entry (different algorithm)
};
}
};
}
hide_show_repeat_MANAGER(){
return{
//hide, show, repeat each stage
};
}
};
可以使用吗?我是面向对象Java的新手。我只想让用户通过调用其中一些功能来重复该阶段,并根据阶段(滑块值)隐藏/显示特定的算法。 'const'类还会影响所有这些吗?
答案 0 :(得分:2)
可以使用吗?
否,完全不能在此处使用class
。仅当您具有共享方法和配置或可变状态不同的多个实例时,才需要类。对于您在问题中显示的内容,一个简单的对象就足够了:
const rayTechniques = {
manager: {
FRT() {
… //Shoot lines in stage entry
},
BRT() {
… //Shoot lines in stage entry (different algorithm)
}
},
hide_show_repeat() {
… //hide, show, repeat each stage
}
};
答案 1 :(得分:1)
唯一的区别是您不能将Ray_Techniques
重新分配给另一个值,因为它被定义为const
。定义为class Ray_Techiques {}
的类将使您可以将类名Ray_Techniques
重新分配给其他名称。
来自MDN:
const声明创建对值的只读引用。这并不意味着它拥有的值是不可变的,只是不能重新分配变量标识符。例如,在内容是对象的情况下,这意味着可以更改对象的内容(例如其属性)。
我认为const
声明不利于代码可读性与命名类。