Javascript Chrome控制台显示同一变量的两个不同值

Javascript Chrome控制台显示同一变量的两个不同值,javascript,google-chrome,console,p5.js,Javascript,Google Chrome,Console,P5.js,我正在使用P5.js库进行一个小项目,突然发现了一些奇怪的东西。我可能错了,但如果可能的话,我只想有人帮我澄清一下: 在这个例子中,我有两个类:ParticleBuilder和Particle。ParticleBuilder类只是一个具有创建粒子的函数的类,该粒子在末尾创建并返回: class ParticleBuilder { constructor(){ this.particleTypeNumber = 0; this.xPosition = 0;

我正在使用P5.js库进行一个小项目,突然发现了一些奇怪的东西。我可能错了,但如果可能的话,我只想有人帮我澄清一下:

在这个例子中,我有两个类:ParticleBuilder和Particle。ParticleBuilder类只是一个具有创建粒子的函数的类,该粒子在末尾创建并返回:

class ParticleBuilder {
    constructor(){
        this.particleTypeNumber = 0;
        this.xPosition = 0;
        this.yPosition = 0;
        this.xVelocity = 0;
        this.yVelocity = 0;
        this.directionAngle = 0;
        this.speed = 0;
        this.rotationAngle = 0;
        this.displayColor = color(0);
        this.strokeWeightValue = 1;
        this.displaySize = 10;
        this.lifespanFrameCount = 60;
    }

    type(v) {
        this.particleTypeNumber = v;
        return this;
    }

    position(x, y) {
        this.xPosition = x;
        this.yPosition = y;
        return this;
    }

    polarVelocity(dir, spd) {
        this.directionAngle = dir;
        this.speed = spd;
        this.xVelocity = spd * cos(dir);
        this.yVelocity = spd * sin(dir);
        return this;
    }

    rotation(v) {
        this.rotationAngle = v;
        return this;
    }

    particleColor(v) {
        this.displayColor = v;
        return this;
    }

    weight(v) {
        this.strokeWeightValue = v;
        return this;
    }

    particleSize(v) {
        this.displaySize = v;
        return this;
    }

    lifespan(v) {
        this.lifespanFrameCount = v;
        return this;
    }

    lifespanSecond(v) {
        this.lifespan(v * IDEAL_FRAME_RATE);
        return this;
    }

    build() {
        let newParticle = system.commonParticleSet.allocate();
        newParticle.particleTypeNumber = this.particleTypeNumber;
        newParticle.xPosition = this.xPosition;
        newParticle.yPosition = this.yPosition;
        newParticle.xVelocity = this.xVelocity;
        newParticle.yVelocity = this.yVelocity;
        newParticle.directionAngle = this.directionAngle;
        newParticle.speed = this.speed;
        newParticle.rotationAngle = this.rotationAngle;
        newParticle.displayColor = this.displayColor;
        newParticle.strokeWeightValue = this.strokeWeightValue;
        newParticle.displaySize = this.displaySize;
        newParticle.lifespanFrameCount = this.lifespanFrameCount;
        return newParticle;
    }
}
当我返回newParticle时,我控制台记录了ParticleBuilder和粒子本身,我得到的结果是。。。至少可以说是出人意料的

我的问题是: 1.为什么这两个类显示不同的值? 2.为什么大括号中的值与列表中的值不同。例如,xPosition在第一行是320,在列表中是0

我相当肯定我做错了什么,但好几天我都不知道是什么。
非常感谢您的帮助。

您能展示一下调用该类的代码吗?您在哪里登录到控制台?这是日志记录:这是使用类的地方:生成器只是一个“new ParticleBuilder()”您可以直接在帖子中发布一个吗?去掉所有与问题不直接相关的代码(使用一个简单的示例,仅包含两个变量),并包括所有日志记录(我们应该能够复制并粘贴代码以自行运行)。最后,经过多次尝试,我设法制作了一个工作示例来展示这种奇怪:请记住,当我添加
Something
类时,它需要P5.js。如果我从
setup()
中的
doSomething()
函数中执行操作,它会显示正确的值。您能显示调用该类的代码吗?您在哪里登录到控制台?这是日志记录:这是使用类的地方:生成器只是一个“new ParticleBuilder()”您可以直接在帖子中发布一个吗?去掉所有与问题不直接相关的代码(使用一个简单的示例,仅包含两个变量),并包括所有日志记录(我们应该能够复制并粘贴代码以自行运行)。最后,经过多次尝试,我设法制作了一个工作示例来展示这种奇怪:请记住,当我添加
Something
类时,它需要P5.js。如果我从
setup()
中的
doSomething()
函数执行操作,它将显示正确的值。