- 1
try{while(confirm("The result is "+(1/prompt("a*x=b\n\nEnter a").split().join()*prompt("a*x=b\n\nEnter b").split().join())+"\n\nOnce again?"));}catch(e){}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+159
try{while(confirm("The result is "+(1/prompt("a*x=b\n\nEnter a").split().join()*prompt("a*x=b\n\nEnter b").split().join())+"\n\nOnce again?"));}catch(e){}
А теперь вспоминаем, что prompt при отмене возвращает null. При использовании null в матеметическом выражении он приведётся к 0, но это не надо. А вот null.split() выкинет исключение, соответственно try-catch, расположенный вне while это исключение ловит. Т. о. try-split-catch нужны для завершения цикла при нажатии отмена в prompt. Ну а join отменяет split в тех случаях, когда нажато Ok.
Вот :D
В рамках сей "физики троллей" можно .split().join() на .trim() заменить для краткости.
Или тут снова подвох?