Почему console.log говорит undefined, а затем правильное значение?
console.log("hi") gives
undefined
hi
console.log(1+1) gives
undefined
2
Является ли это строковым или целочисленным вычислением, я получаю undefined, затем правильный ответ.
Почему я получаю сообщение undefined? Есть ли хороший способ избежать этого?
Ответы
Ответ 1
Консоль распечатает результат вычисления выражения. Результатом оценки console.log()
является undefined
, поскольку console.log
явно не возвращает что-либо. У него есть побочный эффект печати на консоли.
Вы можете наблюдать то же поведение со многими выражениями:
> var x = 1;
undefined;
Объявление переменной не создает значения, поэтому снова undefined
выводится на консоль.
В качестве контрпримера, выражения, содержащие математические операторы, производят значение, которое выводится на консоль вместо undefined
:
> 2 + 2;
4
Ответ 2
undefined
- это возвращаемое значение console.log()
. Это стандартное поведение консоли Chrome JS
Ответ 3
Консоль показывает возвращаемое значение вашего ввода. console.log() ничего не возвращает, поэтому undefined.
Вы можете просто ввести прямо в консоль, чтобы получить результат
Ответ 4
Возвращает значение console.log(...)
.
Определите две функции, подобные этой, и вы поймете, почему.
function functionA() {
return 1;
}
function functionB() {
return;
}
functionB()
возвращает undefined.
![enter image description here]()
Ответ 5
Это связано с тем, что console.log()
не возвращает значение (т.е. возвращает undefined). Результат того, что вы ввели на консоль, сначала печатается на консоль, а затем немного позже сообщение от console.log
доходит до консоли и также печатается.
Если браузер не показывает undefined, это означает, что он заметил, что вход в консоль печатается только на консоли, и поэтому пропускает показ результата.