Javascript JSFIDLE课程-函数和运算符

Javascript JSFIDLE课程-函数和运算符,javascript,jquery,function,operators,Javascript,Jquery,Function,Operators,下面是来自jsfiddles的代码 我有点困惑,不完全理解运算符“+=”和“-=”的含义。我想在下面的问题中询问外行术语的含义 问题1(参考代码//问题1): 我不理解这个功能来检查列车是否以最高速度行驶。这可以解释吗?给出的解释是,如果大于10,那么列车可以走得更快,因此下一行从列车速度值中减去10 为什么数量是10,为什么要减去 问题2(参考代码//问题2): 这是否意味着列车位置从上次更新的位置每增加2倍 我对学习JavaScript还很新鲜。因此,在必要的情况下,用外行术语进行解释是很

下面是来自jsfiddles的代码

我有点困惑,不完全理解运算符“+=”和“-=”的含义。我想在下面的问题中询问外行术语的含义

问题1(参考代码//问题1):
我不理解这个功能来检查列车是否以最高速度行驶。这可以解释吗?给出的解释是,如果大于10,那么列车可以走得更快,因此下一行从列车速度值中减去10

为什么数量是10,为什么要减去

问题2(参考代码//问题2):
这是否意味着列车位置从上次更新的位置每增加2倍

我对学习JavaScript还很新鲜。因此,在必要的情况下,用外行术语进行解释是很好的,因为我正在努力理解它

提前谢谢

var列车速度=250;
var列车位置=0;
var动画;
var train=document.getElementById(“train”);
train.addEventListener(“单击”,加速);
var stopButton=document.getElementById(“stopButton”);
stopButton.addEventListener(“单击”,stopTrain);
//问题1
函数加速(){
如果(列车速度>10){
列车速度-=10;
}
控制台日志(“列车速度:+列车速度”);
clearInterval(动画);
动画=设定间隔(帧、列车速度);
//问题2
函数框架(){
列车位置+=2;
train.style.left=列车位置+‘px’;
控制台日志(列车位置);
检查位置(列车位置);
}
}
功能检查位置(当前位置){
如果(当前位置===260){
警报(“崩溃!”);
log(“崩溃!”);
clearInterval(动画);
}
}
函数stopTrain(){
if(列车位置<260){
clearInterval(动画);
log(“哇!太接近了!”);
}
}

哈哈。这个密码是骗人的。列车速度是而不是列车速度,它是每次计算列车位置之间的延迟。这在一行中得到了证明

animation = setInterval(frame, trainSpeed);
(第二个参数
setInterval
确定调用
frame
函数的频率,以毫秒为单位。)


如果我是代码的作者,我宁愿将变量
trainSpeed
重命名为
trainDelay

Hah。这个密码是骗人的。列车速度是而不是列车速度,它是每次计算列车位置之间的延迟。这在一行中得到了证明

animation = setInterval(frame, trainSpeed);
(第二个参数
setInterval
确定调用
frame
函数的频率,以毫秒为单位。)


如果我是代码的作者,我宁愿将变量
trainSpeed
重命名为
trainDelay

这个问题太宽泛了,而且涵盖了以前的问题已经涵盖的领域。将你的问题分成几个小问题(“如何
+=
-=
工作?”),寻找这些问题的答案(你会找到那一个),并在完成研究并将之前的答案内化后,问出你留下的任何问题。还考虑首先通过一些基本教程,因为这样不是一个好的教程风格信息的地方。@ TJCuldR我实际上理解它是如何工作的。我只是需要一些澄清,因为我不明白这个函数是如何工作的(特别是Q1),但我明白了。谢谢你的建议。这个问题太宽泛了,而且涵盖了之前的问题已经涵盖的领域。将你的问题分成几个小问题(“如何
+=
-=
工作?”),寻找这些问题的答案(你会找到那一个),并在完成研究并将之前的答案内化后,问出你留下的任何问题。还考虑首先通过一些基本教程,因为这样不是一个好的教程风格信息的地方。@ TJCuldR我实际上理解它是如何工作的。我只是需要一些澄清,因为我不明白这个函数是如何工作的(特别是Q1),但我明白了。谢谢你的建议。我想我终于从你的回答中明白了它的意思。播放完动画后,我查看了控制台,我相信这就是它的意思:列车在每个位置之间移动的初始延迟为250ms。最初的和每一次后续的咔哒声都会减少10毫秒的延迟,从而使列车运行更快。若延迟达到10毫秒,则不会再进行减法(表示列车将处于最高速度)。谢谢你的观察。我想我终于从你的回答中明白了它的意思。播放完动画后,我查看了控制台,我相信这就是它的意思:列车在每个位置之间移动的初始延迟为250ms。最初的和每一次后续的咔哒声都会减少10毫秒的延迟,从而使列车运行更快。若延迟达到10毫秒,则不会再进行减法(表示列车将处于最高速度)。谢谢你的观察。