1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- function makeProfileTimer() {
- let start = performance.now();
- return function() {
- let end = performance.now();
- return end - start
- };
- }
- let timer = makeProfileTimer();
- alert("Замеряем время работы этого alert");
- alert(`This code took ${timer()}ms`);
- function makeSaver(data){
- let promptShowed = false;
- let newData;
- return () => {
- if(!promptShowed) {
- promptShowed = true;
- return newData = data()
- }
- }
- }
- 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 timer2() {
- console.log(count);
- const timeout = setTimeout(() => {
- timer();
- }, 1000);
- if (count > 0) {
- return (() => {
- return count--;
- })();
- }
- clearTimeout(timeout);
- if (count === 0) {
- console.log("поехали!");
- }
- }
- timer2();
|