我正在设置一个对象,当我打印该对象时,我在未展开的日志中看到了正确的值,但是当我展开它时,我看到了一个不同的值。不知道为什么它起作用了。

javascript - 扩展后控制台日志中的输出不匹配-LMLPHP

    const bidA = this.userBid;
    const bidB = this.updatedProject.leadingBid;
    bidA.currentBidAmt = 495;
    bidA.minAmt = 200;
    bidA.type = 'AUTO';
    console.log('Bid A: ', bidA);

最佳答案

在创建日志条目时,您的对象的currentBidAmt495
同时,该值已被应用程序更新为475

Chrome不会在记录日志时复制完整的对象,而只是为它当时看到的(某些)值创建一个字符串表示形式。但是,它保留了对活动对象的引用,该对象在扩展日志条目时进行评估。这就是为什么您看到其当前值。

建议获取当前值的解决方法是使用JSON.stringify()。这将在记录时评估您要记录的内容的值。输出将是对象的字符串表示形式。

09-11 08:34