Страницы

Поиск по вопросам

четверг, 12 декабря 2019 г.

Вызов alert(alert(1))

#javascript


alert(alert(1)) - выводит undefined
Не могу понять почему так выводит, потому что мыслю как то, что в алерте в скобках
выведет 1 и соответственно получится alert(1) и в конце останется 1
А также в какой последовательности будет работать код alert( alert(1) && alert(2) );
    


Ответы

Ответ 1



"Мыслить" - это здорово, но иногда проще прочитать: https://www.w3schools.com/jsref/met_win_alert.asp Window alert() Method Return Value: No return value (Возвращает: Ничего не возвращает) Не возвращает: var test = alert(1); console.log(test); Bозвращает: var test = confirm("Are you sure?"); console.log(test); Bозвращает: function multiply(a, b) { return a * b; } console.log(multiply(2, 3)); Не возвращает: function multiplyAndShow(a, b) { var c = a * b; document.getElementById("result").innerText = c; } console.log(multiplyAndShow(2, 3)); empty

Ответ 2



выведет сначала 1 (внутренний алерт), а потом undefined (то, что вернул внутренний алерт), и в конце останется undefined (то, что вернет внешний алерт)

Ответ 3



Функция alert() не возвращает никакого значениа. Это значит, что alert(1) не явлается удобным параметром для никакой функции, в том числе самой функции alert(): alert(alert(1)) // alert(1) ошибочный параметр для alert()

Комментариев нет:

Отправить комментарий