1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- //1.makeProfileTimer
- // function makeProfileTimer(){
- // let time = performance.now();
- // return function sec(){
- // return time * 1000;
- // };
- // }
- // let timer = makeProfileTimer();
- // alert('Замеряем время работы этого alert');
- // alert(timer());
- //2.makeSaver
- // function makeSaver (fn){
- // return function(){
- // fn();
- // }
- // }
- // function al(){
- // let namePrompt = prompt.bind(window, 'Как тебя зовут?');
- // let nameSaver = makeSaver(namePrompt);
- // alert(`Привет! Prompt еще не было!`);
- // alert(`Привет ${nameSaver()}. Только что запустился prompt, первый и последний раз`);
- // alert(`Слушай, ${nameSaver()}, го пить пиво. Ведь prompt был только один раз`);
- // }
- // al();
- // let saver = makeSaver(Math.random);
- // let value1 = saver();
- // let value2 = saver();
- // console.log(value1 === value2);
- // let saver2 = makeSaver(() => console.log('saved function called') || [null, undefined, false, '', 0, Math.random()][Math.ceil(Math.random()*6)]);
- // let value3 = saver2();
- // let value4 = saver2();
- // console.log(value3 === value4);
- //3.Final Countdown
- // let counter = 5;
- // function selfInvoked(){
- // console.log(counter);
- // let timer = setTimeout(() => {
- // selfInvoked()
- // }, 1000);
-
- // if(counter > 1){
- // return function (){
- // return counter--;
- // }();
- // }
- // clearInterval(timer);
- // if(counter === 1){
- // console.log('поехали!');
- // }
- // }
- // selfInvoked();
- //4.myBind
- // function myBind(fnBind, context, fn){
- // return function(...args){
- // let i = 0;
- // let array = fn.map((arr) => {
- // if (arr === undefined) {
- // const argsEl = args[i];
- // i += 1;
- // return argsEl;
- // } else {
- // return arr;
- // }
- // });
- // return fnBind.apply(context, array);
- // };
- // }
- // let pow5 = myBind(Math.pow, Math, [undefined, 5]);
- // let cube = myBind(Math.pow, Math, [undefined, 3]);
- // let chessMin = myBind(Math.min, Math, [undefined, 4, undefined, 5,undefined, 8,undefined, 9]);
- // console.log(pow5(2));
- // console.log(cube(3));
- // console.log(chessMin(-1, -5, 3, 15));
- // let zeroPrompt = myBind(prompt, window, [undefined, "0"]);
- // let someNumber = zeroPrompt("Введите число");
- // console.log(myBind((...params) => params.join(''), null, [undefined, 'b', undefined, undefined, 'e', 'f'])('a','c','d') === 'abcdef');
|