123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>Document</title>
- </head>
- <body>
- <script>
-
- function makeProfileTimer() {
- let t0 = performance.now();
- return function tn() {
- let t1 = performance.now();
- return t1 - t0;
- };
- }
- let timer = makeProfileTimer();
- alert("Замеряем время работы этого alert");
- alert(timer());
-
- function makeSaver(name) {
- let promptNotCalled = true;
- let nameAgain;
- return function () {
- if (promptNotCalled) {
- nameAgain = name();
- promptNotCalled = false;
- }
- return nameAgain;
- };
- }
- var saver = makeSaver(Math.random);
-
- var value1 = saver();
- var value2 = saver();
-
- 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();
- value3 === value4;
- let namePrompt = prompt.bind(window, "Как тебя зовут?");
- let nameSaver = makeSaver(namePrompt);
- alert(`Привет! Prompt еще не было!`);
- alert(
- `Привет ${nameSaver()}. Только что запустился prompt, первый и последний раз`
- );
- alert(
- `Слушай, ${nameSaver()}, го пить пиво. Ведь prompt был только один раз`
- );
-
- (function finalCountdown(sec = 0) {
- for (let i = 5; i >= 0; i--) {
- setTimeout(() => {
- i ? console.log(i) : console.log("поехали");
- }, sec++ * 1000);
- }
- })();
-
- </script>
- </body>
- </html>
|