gpt4 book ai didi

javascript - 变量直接使用时是不一样的

转载 作者:行者123 更新时间:2023-12-02 19:21:51 25 4
gpt4 key购买 nike

Google Chrome 的 Javascript 引擎对此原型(prototype)中的变量值做了一些奇怪的事情。

原型(prototype)定义为:

function matrix4def()
{
this.m00=0;
this.m01=0;
this.m02=0;
this.m03=0;
this.m10=0;
this.m11=0;
this.m12=0;
this.m13=0;
this.m20=0;
this.m21=0;
this.m22=0;
this.m23=0;
this.m30=0;
this.m31=0;
this.m32=0;
this.m33=0;
};

var value = new matrix4def();

console.log(value)向我们展示:

 m00: 1
m01: 0
m02: 0
m03: 0
m10: 0
m11: 1
m12: 0
m13: 0
m20: 0
m21: 0
m22: 1
m23: 0
m30: 0
m31: 0
m32: 0
m33: 1

使用console.log(value.m00)时将向我们展示:-6.123031769111886e-17 。做console.log(value); console.log(value.m00); console.log(value);显示 console.log(value); 的第一次和第二次调用之间没有区别.

正在做console.log(typeof(value.m00))将向我们展示:number

我尝试过 parseFloat(value.m00) ,但也没有显示 1...存储 value.m00 的值临时值显示 -6.123031769111886e-17也是。

有人知道这里发生了什么吗?

P.S.:我无法向您展示完整的代码;它是渲染代码的一部分,对这些值进行大量处理。

最佳答案

这看起来像是 console.log 的问题,它显示对象的当前属性值,而不是记录对象时的属性值。您在日志记录周围(之后)是否有任何更改值的代码?

console.log(new matrix4def().m00)

记录0,而不是非常接近零的负值。

关于javascript - 变量直接使用时是不一样的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12457861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com