2016-08-04 2 views
-1

Может быть, вопрос глупо, но я учусь яваскриптом и не понимаю, почему, когда у меня есть следующий код:Двойного возврата подтверждение с JavaScript

confirm("ready to go"); 
confirm("ready for learn"); 

консоль показывает мне только последний ответ (правда,/false), а не оба ответа.

+3

Консоль _always_ показывает результат последнего утверждения. Если вам нужны оба результата, вам нужно как-то сохранить результаты. – Xufox

+1

или вручную запишите их 'console.log (... valuesToLog)' – Thomas

ответ

3

Это потому, что JS является [ну, почти] аппликативным язык, и точка с запятой вызывает эти два выражения должны быть оценены один за другим, и вы видите только значение последнего.

Если вы хотите поймать оба ответа, вы можете назначить их переменным, например.

var ans1 = confirm("ready to go"); 
var ans2 = confirm("ready for learn"); 

Вы также можете использовать список, как это:

[confirm("ready to go"), confirm("ready for learn")] 

и, возможно, вы хотели бы, чтобы присвоить его переменной, а ...

Удачи и счастливого обучения !

3

Вы должны сохранить его результат где-то, иначе он всегда даст вам последний результат.

var result1 = confirm("ready to go"); 
var result2 = confirm("ready for learn"); 
console.log(result1 + ' ' + result2); 
+2

Еще лучше: 'console.log (result1, result2);' или 'console.log (подтвердить (« готов к работе »), подтвердить (« ready для изучения "));'. – Xufox

+0

Ну да, в зависимости от того, что он хочет –

+1

пока что только для учебных целей. но, @Xufox имеет righ, лучше, если я хочу посмотреть, что я делаю. Thnks. :) – Makito

Смежные вопросы