1234567891011121314151617181920212223242526 |
- <header>Check result</header>
- <body>
- <script>
- function checkResult(original, validator) {
- function wrapper(...params) {
- let result = null;
- while (validator(result = original(...params)) == false);
- return result;
- }
- return wrapper;
- }
- //numberPrompt - это функция, которая будет запускать prompt до тех пор, пока пользователь не введет число
- const numberPrompt = checkResult(prompt, x => !isNaN(+x))
- let number = +numberPrompt("Введите число", "0") //параметры передаются насквозь в оригинал. Не забудьте передать this, используя call или apply
- //gamePrompt - это функция, которая будет запускать prompt до тех пор, пока пользователь не введет одно из слов 'камень', 'ножницы', 'бумага'
- const gamePrompt = checkResult(prompt, x => ['камень', 'ножницы', 'бумага'].includes(x.toLowerCase()))
- const turn = gamePrompt("Введите что то из списка: 'камень', 'ножницы', 'бумага'")
- // let a = Math.random();
- //const randomHigh = checkResult(a, x => (a >= 0.5));
- //console.log(randomHigh);
-
- </script>
- </body>
|