Javascript 未捕获类型错误:调用push()时出现类型错误
我试图在Javascript 未捕获类型错误:调用push()时出现类型错误,javascript,Javascript,我试图在画布上模拟烟雾。我想创建一个新的烟团,并将其推送到烟团数组中,但我一直收到的“uncaughttypeerror:Type error”错误。 有人知道我错过了什么吗 var puffs = []; this.tick = function() { var puffLength = puffs.length; if ( addPuffs && ( puffLength < maxParticles )) { puffs.push({
画布上模拟烟雾。我想创建一个新的烟团,并将其推送到烟团数组中,但我一直收到的“uncaughttypeerror:Type error”
错误。
有人知道我错过了什么吗
var puffs = [];
this.tick = function() {
var puffLength = puffs.length;
if ( addPuffs && ( puffLength < maxParticles )) {
puffs.push({ //THIS ONE IT WHAT GIVES ME THE ERROR
posX: oPoint.x,
posY: oPoint.y,
scale: .1,
age: 0
});
}
for(var i = 0; i < puffLength; i++) {
var currentPuff = puffs[i];
if(currentPuff.age == maxLife) {
puffs.splice(i, 1);
} else {
currentPuff.posX += windX,
currentPuff.posY += windY,
currentPuff.scale += growingSpeed,
currentPuff.age++;
}
}
this.render();
}
var-puffs=[];
this.tick=函数(){
var puffLength=烟团长度;
如果(添加烟团和(烟团长度<最大粒子)){
puff.push({//这一个是什么给了我错误
posX:oPoint.x,
posY:oPoint.y,
比例:.1,
年龄:0
});
}
对于(var i=0;i
在提供的小提琴中,addPuffs
未定义。您需要根据业务逻辑定义此变量。另外,未定义oPoint.x
和oPoint.y
,也必须根据您的业务逻辑对其进行初始化
var oPoint = {x:1, y:2}; //declare according to logic
var addPuffs = true; //some logic here
if ( addPuffs && ( puffLength < maxParticles )) {
puffs.push({ //THIS ONE IT WHAT GIVES ME THE ERROR
posX: oPoint.x,
posY: oPoint.y,
scale: .1,
age: 0
});
}
在提供的提琴中,未定义addPuffs
。您需要根据业务逻辑定义此变量。另外,未定义oPoint.x
和oPoint.y
,也必须根据您的业务逻辑对其进行初始化
var oPoint = {x:1, y:2}; //declare according to logic
var addPuffs = true; //some logic here
if ( addPuffs && ( puffLength < maxParticles )) {
puffs.push({ //THIS ONE IT WHAT GIVES ME THE ERROR
posX: oPoint.x,
posY: oPoint.y,
scale: .1,
age: 0
});
}
什么是oPoint.x
和oPoint.y
?前面定义了几个变量(oPoint.x和oPoint.x是x/y坐标),您想让我设置一个小提琴吗?这会很有帮助,我怀疑它是这些变量中的一个。给你:什么是oPoint.x
和oPoint.y
?有几个变量在前面定义过(oPoint.x和oPoint.x是x/y坐标),你想让我设置一个小提琴吗?这会很有帮助,我怀疑它是这些变量中的一个。给你:AddPuff已经定义好了(当用户滚动时是真的,当它停止时变为假)。很抱歉没有提前告诉您如果定义了,那么您需要关注oPoint
我尝试了这个:console.log(oPoint.x,oPoint.y,addPuffs)它的日志为0.7774077543755 56.283392898185674 false。因此,错误必须在其他地方。即使使用:puff.push({posX:5,posY:5,scale:.1,age:0}),我也会得到此错误;我明白了。我认为问题出在那里,因为当我开始滚动时,我开始按,它开始记录错误。但这一刻与它开始在画布上绘图一样,错误出现在drawImage()调用中。我将字符串作为源传递给它,而不是实际的new Image()addPuffs已定义(当用户滚动时是真的,当它停止时变为假)。很抱歉没有提前告诉您如果定义了,那么您需要关注oPoint
我尝试了这个:console.log(oPoint.x,oPoint.y,addPuffs)它的日志为0.7774077543755 56.283392898185674 false。因此,错误必须在其他地方。即使使用:puff.push({posX:5,posY:5,scale:.1,age:0}),我也会得到此错误;我明白了。我认为问题出在那里,因为当我开始滚动时,我开始按,它开始记录错误。但这一刻与它开始在画布上绘图一样,错误出现在drawImage()调用中。我将字符串作为源传递给它,而不是实际的新图像()