我正在尝试在我的代码中使用更实用的方法,并且我有一个变量 posx
代表 X 轴上的位置。
它随时间变化xpos = xpos + pos
:
const createCircle = ({xpos, fill}) => {
return {
move: (pos) => {
xpos = xpos + pos
noStroke()
ellipse( xpos,10,10,10)
}
}
}
我怎样才能不改变变量xpos
?
我读到改变变量是不好的……那么我该怎么做呢?
或者在这种情况下可以吗?
其余代码:
const circleOpts = {
xpos: 20,
fill: 0,
}
const createCircle = ({xpos, fill}) => {
return {
move: (pos) => {
xpos = xpos + pos
noStroke()
ellipse( xpos,10,10,10)
}
}
}
let bola;
function setup () {
createCanvas(300,500)
background(3)
bola = createCircle(circleOpts)
}
function draw () {
bola.move(10)
}
最佳答案
在这种情况下绝对没问题。
在您的例子中,您使用单个变量来表示单个值。由于此值随时间变化,因此变量会随时间变化是完全合理的。
一般来说,我非常怀疑 XYZ 总是是个好主意或总是是个坏主意的说法。一切都取决于上下文。
关于javascript - 如何在创建一个递增的值(如头寸)时消除可变性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53244329/