Анатолий Пивоварский 1 year ago
parent
commit
7d091e53f6
5 changed files with 67 additions and 5 deletions
  1. 2 2
      HW 4/js/script.js
  2. 5 2
      HW 5/js/script.js
  3. 19 1
      HW 7/script.js
  4. 40 0
      HW 8/script.js
  5. 1 0
      react/src/App.js

+ 2 - 2
HW 4/js/script.js

@@ -59,7 +59,7 @@ for(let i in persons){
 };
 
 //loop of name and surname
-for(let i in persons){
+for(let i of persons){
     console.log(persons[i].name, 
                 persons[i].surname)
 };
@@ -104,7 +104,7 @@ document.write(str);
 //HTML tr color
 
 let strColor = "<table border='1'>";
-for(let i = 0; i < 4; i++){
+for(let i = 0; i < persons.length; i++){
     for(let j in persons[i]) {
         strColor += `<tr style = color:red;><td>${j}</td><td>${persons[i][j]}</td></tr>`
     }

+ 5 - 2
HW 5/js/script.js

@@ -39,9 +39,12 @@ console.log(intRandom(10))
 
 //
 function greetAll() {
-    for(let i of arguments) {
-       alert(`Hello ${i}`)
+    let mans = "";
+    for(i = 0; i<arguments.length;i++) {
+        mans += "," + " " + arguments[i]
     }
+       alert(`Hello ${mans}`)
+    
  }
  greetAll("Superman")
  greetAll("Superman", "SpiderMan")

+ 19 - 1
HW 7/script.js

@@ -58,9 +58,27 @@ function personeMap(a, b){
     return filter
 }
 
+
 let resultat = personeMap({name: "Иван", age: 17},function(key,value){
     var result = {};
     result[key+"_"] = value + "$";
     return result;
 })
-console.log(resultat)
+console.log(resultat)
+
+//sum
+
+function sum(a){
+    if (a <= 1){
+        return a
+    }
+    else {
+        return a + sum(a - 1)
+    }  
+}
+console.log(sum(0))
+console.log(sum(1))
+console.log(sum(3))
+console.log(sum(5))
+console.log(sum(7))
+console.log(sum(9))

+ 40 - 0
HW 8/script.js

@@ -11,6 +11,46 @@ let timer = makeProfileTimer()
 alert('Замеряем время работы этого alert');
 alert(timer());
 
+//makeSaver
+
+function makeSaver(parameter) {
+    let called;
+    let result;
+    return function (...args) {
+       if (called) {
+          return result;
+       }
+       else {
+          called = true;
+          result = parameter(...args);
+          return result;
+       }
+    }
+ 
+ }
+
+var saver = makeSaver(Math.random) //создает функцию-хранилище результата переданной в качестве параметра функции (Math.random 
+// в примере). На этом этапе Math.random НЕ вызывается
+var value1 = saver()              //saver вызывает переданную в makeSaver функцию, запоминает результат и возвращает его
+var value2 = saver()              //saver в дальнейшем просто хранит результат функции, и более НЕ вызывает переданную 
+//в makeSaver функцию;
+value1 === value2                 // всегда true
+
+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 // тоже должно быть true
+
+
+
+let namePrompt = prompt.bind(window, 'Как тебя зовут?')
+let nameSaver = makeSaver(namePrompt)
+alert(`Привет! Prompt еще не было!`)
+alert(`Привет ${nameSaver()}. Только что запустился prompt, первый и последний раз`)
+alert(`Слушай, ${nameSaver()}, го пить пиво. Ведь prompt был только один раз`)
+
+
 
 
 

+ 1 - 0
react/src/App.js

@@ -211,6 +211,7 @@ const Footer = () =>
   </footer>
 );
 
+
 const App = ()  =>
     <div className="wrapper">
       <Header/>