在javascript上的console.log中将变量乘以数字

ped*_*rez 2 javascript

我希望我可以通过变量将数字相乘的结果登录到控制台,但是在使用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)

为什么会这样,我该如何避免呢?

Poi*_*nty 5

该console.log()函数返回undefined,因此Number(console.log(anything))将始终如此NaN.您的代码假定console.log()返回它写入浏览器开发人员控制台的值,但情况并非如此.

另外,可能与直觉相反,NaN是一个数字,因此typeof NaN是"数字".您的代码测试了返回值Number(console.log()),它实际上是一个数字,但是这个数字是NaN.