未捕获的类型错误:undefined不是函数
Uncaught TypeError: undefined is not a function
大家好,我现在是一名学生,正在做我书中的一个项目,这是我遇到问题的代码。
for (var i = 0; i < numAsteroids; i++) {
var radius = 5+(Math.random()*10);
var x = canvasWidth+radius+Math.floor(Math.random()*canvasWidth);
var y = Math.floor(Math.random()*canvasHeight);
var vX = -5-(Math.random()*5);
asteroids.push(new Asteroid(x, y, radius, vX));***<---line 21***
};
现在,当我运行时,它一直告诉我我有一个:
未捕获的类型错误:undefined不是函数行21。
但我在书中有确切的代码,这是我不理解的。如果有人能帮我解决这个问题,那就太好了!
如果由于.push()
方法导致错误来自此行:
asteroids.push(new Asteroid(x, y, radius, vX));
然后,问题是asteroids
尚未初始化为数组,因此它没有方法.push()
。
你可以这样初始化它:
var asteroids = [];
for (var i = 0; i < numAsteroids; i++) {
var radius = 5+(Math.random()*10);
var x = canvasWidth+radius+Math.floor(Math.random()*canvasWidth);
var y = Math.floor(Math.random()*canvasHeight);
var vX = -5-(Math.random()*5);
asteroids.push(new Asteroid(x, y, radius, vX));
}
如果没有定义Asteroid
构造函数,也可能会出现这种类型的错误。
是否定义了Asteroid
函数?
以下工作。
var asteroids = [],
numAsteroids = 10,
canvasWidth = 10,
canvasHeight = 10,
radius = 10;
for (var i = 0; i < numAsteroids; i++) {
var radius = 5+(Math.random()*10);
var x = canvasWidth+radius+Math.floor(Math.random()*canvasWidth);
var y = Math.floor(Math.random()*canvasHeight);
var vX = -5-(Math.random()*5);
asteroids.push(new Asteroid(x, y, radius, vX));
};
// Is the Asteroid function/class defined?
function Asteroid(x, y, r, vX) {
}
相关文章:
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 为什么会出现错误,“UncaughtTypeError:undefined不是函数”
- mongoose.connect undefined不是一个函数
- Uncaught TypeError:undefined不是函数-ember js
- jQuery Mobile Undefined不是一个函数
- 未捕获的类型错误:undefined不是函数$
- 使用在函数外部声明的变量的 Javascript 返回值 + undefined
- 为什么Grunt Copy给了我一个'undefined不是函数'警告
- Bootstrap-“;未捕获的类型错误:undefined不是函数;
- Undefined不是函数ImpressPages DatePicker
- 尝试使用.ninnerHTMLlog打印数据,获取错误Uncaught TypeError:undefined不是函数
- 得到“;undefined不是函数“;错误
- Undefined不是Fullcalendar js上的函数
- 使用谷歌地图:一个返回undefined的自定义javascript函数
- jqGrid:undefined不是函数
- Jquery,Uncaught TypeError:undefined不是函数
- $http.post undefined 不是函数
- Ember cli Uncatch TypeError: undefined 不是函数
- Infragistics igGrid Uncatch TypeError: undefined 不是一个函数
- JQuery脚本在Firefox上工作;undefined不是函数“;铬