Why does console.log say undefined, and then the correct value? [duplicate]

こ雲淡風輕ζ 提交于 2019-12-17 16:12:31

问题


console.log("hi") gives 
undefined
hi

console.log(1+1) gives 
undefined
2

Whether it's a string or integer calculation, I get undefined then the correct answer.

Why do I get the undefined message? Is there a good way to avoid it?


回答1:


The console will print the result of evaluating an expression. The result of evaluating console.log() is undefined since console.log does not explicitly return something. It has the side effect of printing to the console.

You can observe the same behaviour with many expressions:

> var x = 1;
undefined;

A variable declaration does not produce a value so again undefined is printed to the console.

As a counter-example, expressions containing mathematical operators do produce a value which is printed to the console instead of undefined:

> 2 + 2;
4



回答2:


The undefined is the return value of console.log(). This is standard behavior of Chrome JS Console




回答3:


The console shows the return value of your input. console.log() doesn't return anything, so undefined.

You could just type directly into the console to get the result




回答4:


It returns the value of console.log(...).

Define two functions like this and you'll see why.

function functionA() {
  return 1; 
}
function functionB() {
  return;
}

The functionB() returns undefined.




回答5:


This is because console.log() does not return a value (i.e. returns undefined). The result of whatever you entered to the console is first printed to the console, then a bit later the message from console.log reaches the console and is printed as well.

If a browser does not show the undefined, it means it has noticed that your console input only prints to the console, and so skips showing the result.



来源:https://stackoverflow.com/questions/24342748/why-does-console-log-say-undefined-and-then-the-correct-value

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!