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

时间:2017-08-14 14:07:14

标签: javascript

我希望我可以通过变量将数字相乘的结果登录到控制台,但是在使用Javascript时我得到了NaN。

我的尝试:

import requests
from html.parser import HTMLParser

class dataFinder(HTMLParser):
    def open_webpage(self):
        request = requests.get('https://www.summet.com/dmsi/html/readingTheWeb.html')
        self.webpage_text = request.text
        return self.webpage_text

我也试过

var div = Number(console.log(10 / 50)); //returns 0.2
typeof div //number
console.log(div * 100); //returns NaN

为什么会发生这种情况,我该如何避免呢?

4 个答案:

答案 0 :(得分:5)

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

此外,可能直观地反驳,NaN是一个数字,因此typeof NaN是“数字”。您的代码测试了Number(console.log())的返回值,它实际上是一个数字,但该数字为NaN

答案 1 :(得分:2)

console.log 显示结果并返回未定义

直接尝试:

 var div = Number(10 / 50);

var div = Number(10 / 50); //returns 0.2
typeof div //number
console.log(div * 100); 

答案 2 :(得分:1)

console.log()未返回数字,因此您收到NaN错误。

您可以改为:

var div = Number(10 / 50);
console.log(div * 100);

希望这有帮助!

答案 3 :(得分:0)

一个小解决方法:

 function log(...values){
  console.log(...values);
  return values.length === 1 ? values[0] : values;
}

所以你可以这样做:

var a = log(5/10)*2;
log(a);
log(log(1,2)[0]+3)

或者,反过来说:

 var a;

console.log(
  a = 10/50,
  10*a,
  11*a
);