我希望我可以通过变量将数字相乘的结果登录到控制台,但是在使用Javascript时我得到了NaN.
我的尝试:
var div = Number(console.log(10 / 50)); //returns 0.2
typeof div //number
console.log(div * 100); //returns NaN
Run Code Online (Sandbox Code Playgroud)
我也试过了
var div = Number(console.log(10 / 50)); //returns 0.2
typeof div //number
console.log(Number(div) * 100); //returns NaN
Run Code Online (Sandbox Code Playgroud)
为什么会这样,我该如何避免呢?
该console.log()函数返回undefined,因此Number(console.log(anything))将始终如此NaN.您的代码假定console.log()返回它写入浏览器开发人员控制台的值,但情况并非如此.
另外,可能与直觉相反,NaN是一个数字,因此typeof NaN是"数字".您的代码测试了返回值Number(console.log()),它实际上是一个数字,但是这个数字是NaN.
| 归档时间: |
|
| 查看次数: |
1007 次 |
| 最近记录: |