|
@@ -0,0 +1,52 @@
|
|
|
+//makeProfileTimer
|
|
|
+function makeProfileTimer (a){
|
|
|
+ let startTime, endTime;
|
|
|
+ startTime = performance.now();
|
|
|
+ a
|
|
|
+ endTime = performance.now();
|
|
|
+ let time = (endTime - startTime)
|
|
|
+ alert(`${time}`);
|
|
|
+}
|
|
|
+//makeSaver
|
|
|
+function makeServer(ser){
|
|
|
+ let rRun
|
|
|
+ let save
|
|
|
+ return function sever(){
|
|
|
+ if(!rRun){
|
|
|
+ save = ser;
|
|
|
+ rRun=true;
|
|
|
+ }
|
|
|
+ return save
|
|
|
+ }
|
|
|
+}
|
|
|
+let saifer = makeServer(Math.random())
|
|
|
+value1 = saifer();
|
|
|
+console.log("first numb "+value1)
|
|
|
+value2 = saifer();
|
|
|
+console.log("second numb "+value2)
|
|
|
+value1===value2
|
|
|
+console.log("result "+ (value1+value2))
|
|
|
+//myBind
|
|
|
+function myBind(metod,globalObject,tXt){
|
|
|
+ function desk(){
|
|
|
+ let argum = Object.assign(tXt,arguments);
|
|
|
+ return metod.apply(globalObject,argum);
|
|
|
+ }
|
|
|
+ return desk;
|
|
|
+}
|
|
|
+let pow5 = myBind(Math.pow, Math, [undefined, 5]);
|
|
|
+console.log(pow5(2));
|
|
|
+let cube = myBind(Math.pow, Math, [undefined, 3]);
|
|
|
+console.log(cube(3));
|
|
|
+let zeroPrompt = myBind(prompt, window, [undefined, "0"]);
|
|
|
+let someNumber = zeroPrompt("Введите число");
|
|
|
+console.log("твой номер ---> "+someNumber);7
|
|
|
+//timer ciler
|
|
|
+function timeCiller (a){
|
|
|
+ for (step = 0; step < 1; step++){
|
|
|
+ console.log(a)
|
|
|
+ let timerId = setInterval(() => console.log(--a), 1000);
|
|
|
+ setTimeout(() => { clearInterval(timerId); console.log('run'); }, (a*1000))
|
|
|
+ }78
|
|
|
+}
|
|
|
+timeCiller(prompt("введите число обратного отсчёта","5"))
|