Javascript 如果我添加了一个变量,为什么我的程序会停止工作?

Javascript 如果我添加了一个变量,为什么我的程序会停止工作?,javascript,html,debugging,Javascript,Html,Debugging,为什么如果我删除var framesPerSecond,程序运行正常?即使我将变量放在窗口中。onload也不起作用 <canvas id="gameCanvas" width="800" height="600"></canvas> <script> var canvas; var canvasContext; var ballX = 50; var ballSpeedX = 5; var framesPerSecond = math.random()*(

为什么如果我删除
var framesPerSecond
,程序运行正常?即使我将变量放在
窗口中。onload
也不起作用

<canvas id="gameCanvas" width="800" height="600"></canvas>

<script>
var canvas;
var canvasContext;
var ballX = 50;
var ballSpeedX = 5;
var framesPerSecond = math.random()*(100-10)+10;
window.onload = function() {
canvas = document.getElementById('gameCanvas');
canvasContext = canvas.getContext('2d');
setInterval(callBoth, framesPerSecond);
}

function callBoth() {
  moveEverything();
  drawEverything();
}

function moveEverything() {
  ballX = ballX + ballSpeedX;
  if(ballX > canvas.width) {
    ballSpeedX = -ballSpeedX;
  }
  if(ballX < 0) {
    ballSpeedX = -ballSpeedX;
  }
}

function drawEverything() {
// canvas
  colorRect(0,0,canvas.width,canvas.height,'black');
// obstacles
  colorRect(40,40,720,520,'blue');
// car
  colorRect(ballX,100,10,10,'white');
}

function colorRect(leftX, topY, width, height, drawColor) {
  canvasContext.fillStyle = drawColor;
  canvasContext.fillRect(leftX, topY, width, height);
}
</script>

var帆布;
var canvasContext;
var ballX=50;
var ballSpeedX=5;
var framesPerSecond=math.random()*(100-10)+10;
window.onload=函数(){
canvas=document.getElementById('gameCanvas');
canvasContext=canvas.getContext('2d');
setInterval(calleath,framesPerSecond);
}
函数calleath(){
移动一切();
抽屉物品();
}
函数moveEverything(){
ballX=ballX+ballSpeedX;
如果(球>画布宽度){
ballSpeedX=-ballSpeedX;
}
if(ballX<0){
ballSpeedX=-ballSpeedX;
}
}
函数drawerything(){
//帆布
colorRect(0,0,canvas.width,canvas.height,'black');
//障碍物
colorRect(40,40720520,'蓝色');
//汽车
colorRect(ballX,100,10,10,'white');
}
函数colorRect(leftX、topY、宽度、高度、drawColor){
canvasContext.fillStyle=drawColor;
canvasContext.fillRect(leftX,topY,width,height);
}

注:我只是一个初学者。

数学
应该大写:
var framesPerSecond=Math.random()*(100-10)+10

控制台应该会告诉您问题所在。显然没有对此进行调试尝试。“它不起作用”不是一个描述性的问题。我以前从未调试过任何东西,我不知道如何进行调试。还有一个提示,用于您的
setInterval()
调用。第二个参数告诉浏览器作为第一个参数传递的函数的两次执行之间的延迟。谢谢。我不知道。