123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- <!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>
- <div>
- <button onclick="clickCounter()" id="button">btn</button>
- <span id="span"></span>
- </div>
- <script>
-
- function makeProfileTimer() {
- let t0 = performance.now();
- return function () {
- let t1 = performance.now();
- console.log(t1 - t0);
- }
- }
- var timer = makeProfileTimer()
- alert('Замеряем время работы этого alert');
- alert(timer());
-
- var t0 = performance.now();
- console.log(1432 ** 42343 + 2424 / 3423 * 432);
- var t1 = performance.now();
- console.log("Call to doSomething took " + (t1 - t0) + " milliseconds.");
-
- function makeSaver(callable) {
- let res;
- let executed = !1;
- return function () {
- return executed ? res : (executed = !0, res = callable());
- };
- };
- 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
-
- (function () {
- let countdown = 5;
- function t() {
- for (let i = 0; i < countdown; i++) {
- setTimeout(function () {
- console.log(countdown--);
- if (!countdown) {
- console.log('поехали!')
- }
- }, 1000 * i);
- }
- }
- t()
- })();
-
- function myBind(func, context, bindArgs) {
- return function wrapper() {
- var args = Object.assign(bindArgs, arguments);
- return func.apply(context, args);
- }
- }
- var pow5 = myBind(Math.pow, Math, [undefined, 5])
-
-
-
- var cube = myBind(Math.pow, Math, [undefined, 3])
- pow5(2)
- cube(3)
- var chessMin = myBind(Math.min, Math, [undefined, 4, undefined, 5, undefined, 8, undefined, 9])
- chessMin(-1, -5, 3, 15)
- var zeroPrompt = myBind(prompt, window, [undefined, "0"])
-
- var someNumber = zeroPrompt("Введите число")
- myBind((...params) => params.join(''), null, [undefined, 'b', undefined, undefined, 'e', 'f'])('a', 'c', 'd') === 'abcdef'
- </script>
- </body>
- </html>
|