Javascript 未捕获类型错误:无法读取属性';x';对于未定义的,函数返回Null

Javascript 未捕获类型错误:无法读取属性';x';对于未定义的,函数返回Null,javascript,processing.js,Javascript,Processing.js,这是一个使用处理js的程序中的对象方法。它遍历对象中存储在“力”数组中的所有PVector对象,将它们相加,并将总和作为另一个PVector对象返回 调试后,我发现这是导致错误的原因,“UncaughtTypeError:无法读取undefined”的属性“x”,我不理解问题所在,甚至不理解错误的含义。感谢您的帮助 Body.prototype.resForce = function() { var resForce = new PVector(0, 0); for (var i

这是一个使用处理js的程序中的对象方法。它遍历对象中存储在“力”数组中的所有PVector对象,将它们相加,并将总和作为另一个PVector对象返回

调试后,我发现这是导致错误的原因,“UncaughtTypeError:无法读取undefined”的属性“x”,我不理解问题所在,甚至不理解错误的含义。感谢您的帮助

Body.prototype.resForce = function() {
    var resForce = new PVector(0, 0);
    for (var i=0; i<this.forces.length; i++) {
        resForce.set = resForce.add(this.forces[i]);
    }
return resForce;
};
Body.prototype.resForce=function(){
var resForce=新PVector(0,0);

对于(var i=0;i我似乎已经解决了这个问题,在对代码进行了相当多的研究之后。我从调试中收集到的信息是,在某个地方,每个Body对象的.forces变量都从数组变为未定义,导致.resForce()方法无法遍历所有力,并返回未定义的对象。我认为是问题所在的方法未被触及。感谢所有提供的帮助。:)

在右侧,它应该显示出错的行号。请检查以确保此错误发生在该代码块内,或者发布附加到此项目的其他javascript,以便我们进一步研究。这是一个猜测,但processing.js文档没有使用“set”在这样的PVector上。若只是将向量相加以生成增量,我认为循环体应该是resForce.add(),而不带赋值。此外,resForce.add调用可能试图访问this.forces[I]的属性“x”,但this.forces[I]没有x,所以你可能在数组中有一些不是PVector的东西。实际上,更仔细地看一下,我认为你需要共享声明和填充这个的代码。forces。这是相关的。感谢@Mic和Danbopes的回复。这是完整的代码:().很多事情都在不断地被改变/评论,这就是我不想分享的原因