完全相同变量的不同console.log(变量)结果
Different console.log(variable) outcomes for exactly the same variable
我的问题是,记录完全相同的变量值,但以不同的方式访问它,会产生两种不同的结果。
console.log(car[1].wheels.radius)
将整数20记录到控制台,因为20是分配给car[1]wheels.radius.的值
现在,如果我记录整个对象:
console.log(car[1])
并且在控制台中手动访问元素radius,我可以看到它的值是"NaN"。
当我在计算中使用car[1].wels.radius时,也会发生同样的情况,例如3.14*car[1].wers.radius返回NaN,尽管这是3.14(一个数字)和car[1].wals.radius(一个数值)的乘积,所以它应该返回一个数字。
有人知道问题出在哪里吗?
可以实际回答标题中关于记录变量时为什么会得到不同结果的问题-
如果一个基元被发送到日志,那么它会立即显示值,因此在这种情况下,当您发送car[1].wheels.radius
时,它确实具有值20
。
然而,当您记录一个对象car[1]
时,直到您在控制台中检查该对象时,属性的值才会实际显示(如果您使用chrome,则会有一点蓝色(i)来解释这一点)。就像记录引用一样,在展开/检查引用之前,不会显示实际的对象状态。
因此,您正在对car[1].wheels.radius
进行一些计算,在某个时刻将其从20
更改为NaN
,这解释了差异。
从您显示的代码数量来看,这个问题的原因是未知的。使用调试器逐步检查代码,并查看此值何时更改。
相关文章:
- 我可以对变量调用“.log”吗?
- 如何用消息正确抽象控制台.log颜色变量
- Javascript:为什么我把“;()“;在console.log中调用变量时在变量后面
- console.log() 在变量值实际更改之前显示变量的更改值
- jQuery在控制台中工作.log但不在变量中工作
- 控制台.log() 正在打印同一变量的两个不同值
- 变量传递给控制台读取的函数.log但不传递给其他变量
- 变量在控制台中更新.log但不在其他函数中更新
- console.log()中的变量名消失
- 完全相同变量的不同console.log(变量)结果
- 如何将console.log()结果存储为对象/变量
- 为什么将变量的console.log()移动到第二个AJAX调用中会改变输出?
- 在cookie中保存变量- console.log返回具有会话id的变量
- 为什么以及如何在console.log中引用变量来修复我遇到的加载错误?
- 为什么这个JQuery只工作,如果我console.log一个坏变量
- 如何在console.log中添加变量?
- 我如何添加一个rails控制器变量到javascript文件console.log
- Console.log(变量);VS console.log([变量]);/一个提供信息,另一个没有
- 不能让另一个变量指向console.log
- 为什么console.log有时会为已导出的变量打印未定义