|
@@ -0,0 +1,59 @@
|
|
|
+makeProfileTimer
|
|
|
+function makeProfileTimer() {
|
|
|
+ let start = performance.now();
|
|
|
+ return function() {
|
|
|
+ let end = performance.now();
|
|
|
+ return `the code took ${end - start}ms`;
|
|
|
+ };
|
|
|
+}
|
|
|
+
|
|
|
+let timer = makeProfileTimer();
|
|
|
+
|
|
|
+alert("Замеряем время работы этого alert");
|
|
|
+alert(timer());
|
|
|
+
|
|
|
+function makeSaver(data){
|
|
|
+ let newData = data()
|
|
|
+ return () => {
|
|
|
+ return newData
|
|
|
+ }
|
|
|
+}
|
|
|
+var saver = makeSaver(Math.random)
|
|
|
+var value1 = saver()
|
|
|
+var value2 = saver()
|
|
|
+console.log(value1, value2)
|
|
|
+console.log(value1 === value2 )
|
|
|
+var saver2 = makeSaver(() => console.log('saved function called') || [null, undefined, false, '', 0, Math.random()][Math.ceil(Math.random()*6)])
|
|
|
+var value3 = saver2()
|
|
|
+var value4 = saver2()
|
|
|
+console.log(value3 === value4)
|
|
|
+
|
|
|
+let namePrompt = prompt.bind(window, 'Как тебя зовут?')
|
|
|
+let nameSaver = makeSaver(namePrompt)
|
|
|
+
|
|
|
+alert(`Привет! Prompt еще не было!`)
|
|
|
+alert(`Привет ${nameSaver()}. Только что запустился prompt, первый и последний раз`)
|
|
|
+alert(`Слушай, ${nameSaver()}, го пить пиво. Ведь prompt был только один раз`)
|
|
|
+
|
|
|
+let count = 5;
|
|
|
+function timer() {
|
|
|
+ console.log(count);
|
|
|
+ const timeout = setTimeout(() => {
|
|
|
+ timer();
|
|
|
+ }, 1000);
|
|
|
+ if (count > 0) {
|
|
|
+ return (() => {
|
|
|
+ return count--;
|
|
|
+ })();
|
|
|
+ }
|
|
|
+ clearTimeout(timeout);
|
|
|
+ if (count === 0) {
|
|
|
+ console.log("поехали!");
|
|
|
+ }
|
|
|
+}
|
|
|
+timer();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|