Занимаюсь js на codecademy. Делаю задание по написанию "камень, ножницы, бумага". И на вот этот код он мне пишет Maximum call stack size exceeded javasсript. Однако ж если я закоменчу последний if, где choice1=scissors, то всё окей. Чего я не вижу?

 читать дальше



@темы: Вопрос, Java script

Комментарии
01.09.2013 в 12:10

Those wings... I want them too.
Полбутылки сентября, Думаю, дело в вызовах compare(choice1) и compare(choice2) - они приводят к бесконечной рекурсии. Вы уверены, что хотите их вызвать а не сделать просто "choiceX === "xxxx" ?

И вот тут, кажется, ещё ошибка:

if (compare(choice1) === "rock") {
if (compare(choice2) === "scissors") {
return "rock wins";
}
else {
return "paper wins";
}
}

"scissors win" должно быть, очеидно.
01.09.2013 в 12:52

"scissors win" должно быть, очеидно.
разве? бумага заворачивает камень ;-) с вариантами ответов там всё ок)
01.09.2013 в 13:06

Those wings... I want them too.
ninelya, да, в этом не права, логику невнимательно просмотрела. Прошу прощения
01.09.2013 в 23:39

https, действительно перемудрила. Спасибо.
02.09.2013 в 01:31

Я знаю, что я гений, но мне от этого ничуть не легче.
Да, это не тот случай, когда нужна рекурсия.

Я так понимаю, что должно быть вот так:

02.09.2013 в 02:13

mikluho, таки да, именно так оно и заработало. Теперь буду знать, спасибо.
02.09.2013 в 21:14

Those wings... I want them too.