Kaynağa Gözat

06Func Adv HW + fixes

Ivan Asmer 7 yıl önce
ebeveyn
işleme
b6bcf8fb90
1 değiştirilmiş dosya ile 10 ekleme ve 9 silme
  1. 10 9
      A/05Functions.md

+ 10 - 9
A/05Functions.md

@@ -615,12 +615,7 @@ persons.sort(function(a,b){ //сортируем по возрасту
     return -1;
 });
 
-persons.sort(function(a,b){ //сортируем по имени
-    if (a.name > b.name){
-        return 1;
-    }
-    return -1;
-});
+persons.sort((a,b) => a.name > b.name ? 1 : -1) //сортируем по имени
 ```
 
 Рассмотрим пример:
@@ -657,9 +652,7 @@ alert(validatedPrompt("number", "", function(value) {
             return !isNaN(+value) && Number.isInteger(+value) 
 }))
 
-alert(validatedPrompt("камень-нжнцы-бмг", "", function(value) {
-            return ["камень", "ножницы", "бумага"].indexOf(value.toLowerCase()) > -1;
-}))
+alert(validatedPrompt("камень-нжнцы-бмг", "", value => ["камень", "ножницы", "бумага"].indexOf(value.toLowerCase()) > -1))
 ```
 
 В этом примере код валидации выделен в функцию обратного вызова, а общее решение циклического ввода находится в функции `validatedPrompt`
@@ -693,6 +686,14 @@ console.log("Закончил");
     var b = "100500";
 })()
 ```
+Подобную логику можно реализовать с помощью `let`:
+```javascript
+{
+    let a = 5;
+    let b = "100500";
+}
+```
+
 в данном примере создается функция и тут же вызывается. Функция не сохраняется ни в какой из переменных, а значит вы не сможете её вызвать более
 чем один раз. Единственная цель такой функции (**Self-Invoked Function**) - создать свою собственную область видимости, в которой можно оперировать
 любыми именами переменных не опасаясь побочных эффектов и влияния на переменные окружающего кода. Просто блок кода со своими именами. В **ES6** для