Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Напишите функцию makeSaver (https://javascript.ru/forum/misc/76066-napishite-funkciyu-makesaver.html)

Nexus 04.12.2018 15:51

SuperZen, спасибо.
Что-то я затупил...

j0hnik 04.12.2018 16:09

Цитата:

Сообщение от SuperZen
Метод Math.random() возвращает псевдослучайное число с плавающей запятой из диапазона [0, 1), то есть, от 0 (включительно) до 1 (но не включая 1

ну и соответственно при res||(res=callable());
если res будет 0, то выполнится второе условие...

верно, но мы не такие везучие чтобы увидеть 0.

Nexus 04.12.2018 16:17

j0hnik, я бы программируя на удачу не надеялся.
Если есть шанс того, что будет возвращен нуль, то это обязательно случится. А это баг.

j0hnik 04.12.2018 18:55

Nexus,
я ж не спорю, но как думаете сколько нужно времени современному компьютеру чтобы в один поток завершить такой цикл?
while(Math.random() != 0);
alert(0);

Nexus 04.12.2018 19:01

j0hnik, не знаю.

Alexandroppolus 04.12.2018 19:18

Цитата:

Сообщение от j0hnik (Сообщение 499760)
Nexus,
я ж не спорю, но как думаете сколько нужно времени современному компьютеру чтобы в один поток завершить такой цикл?
while(Math.random() != 0);
alert(0);

вообще-то, по заданию, makeSaver допускает любую функцию, а не обязательно Math.random, потому не должна предполагать какие там значения могут быть а какие нет.

например, makeSaver(() => Math.round(Math.random())) поймает ноль в 50% случаев

j0hnik 05.12.2018 00:04

конечно любую и даже такую.
fn=_=>{
	if(Math.random() > 0.5) return true;
};

Marson 07.12.2018 12:19

Уважаемые, здесь нужно подумать над замыканиями, что бы работало так как именно написано в комментариях в задании, можно только на чистом js. Главное что бы value1 и value2 работали так как написано в комментариях

Nexus 07.12.2018 12:23

Marson, что вас в этом коде не устраивает?
https://javascript.ru/forum/misc/760...tml#post499738


Часовой пояс GMT +3, время: 04:41.