anton123 пре 2 година
родитељ
комит
e9cb3c8059
4 измењених фајлова са 405 додато и 1 уклоњено
  1. 25 0
      Ветвления/index.html
  2. 141 0
      Ветвления/Ветвления.js
  3. 221 0
      Циклы.js
  4. 18 1
      функции.js

+ 25 - 0
Ветвления/index.html

@@ -0,0 +1,25 @@
+<!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>
+        fetch('https://open.er-api.com/v6/latest/USD').then(res => res.json())
+         .then(data => {
+            let dataObj = data.rates
+            for (let key in dataObj){
+                let button = document.createElement('button')
+                button.innerHTML = key
+                button.onclick = () => {alert((+prompt('Введите сумму в '+ key)/dataObj[key]).toFixed(2)+' USD')}
+                document.body.append(button)
+            }
+            })
+    </script>
+    
+</body>
+</html>
+

+ 141 - 0
Ветвления/Ветвления.js

@@ -0,0 +1,141 @@
+//blocks
+{
+    let a = 10
+{
+    let b = 20
+    {
+        let c = 30
+        //какие тут будут значения переменных a,b,c,d 
+        //10, 20, 30, (d is not defined)
+        
+        b++
+        a *= 10
+    }
+    {
+        let c = 50
+        //какие тут будут значения переменных a,b,c,d
+        //100, 21, 50, (d is not defined)
+        b += 500
+    }
+    {
+        const a = 100500
+        const d = "value"
+        //какие тут будут значения переменных a,b,c,d
+        //100500, 521, (c is not defined), 'value'
+        {
+            let a = -50
+            b     = 1000
+            //какие тут будут значения переменных a,b,c,d
+            //-50, 1000, (c is not defined), 'value'
+        }
+        //какие тут будут значения переменных a,b,c,d
+        //100500, 1000, (c is not defined), 'value'
+    }
+    //какие тут будут значения переменных a,b,c,d
+    //100, 1000, (c is not defined), (d is not defined)
+}
+//какие тут будут значения переменных a,b,c,d
+//100, (b is not defined), (c is not defined), (d is not defined)
+}
+
+
+//comparison if
+{
+    var age = -31
+    if (age > 0 && age < 18)
+        alert("школьник")
+    else {
+        if (age > 18 && age < 30)
+            alert("молодеж")
+        else {
+            if (age > 30 && age < 45)
+                alert("зрелость")
+            else {
+                if (age > 45 && age < 60)
+                    alert("закат")
+                else {
+                    if (age > 60)
+                        alert("как пенсия?")
+                    else {
+                        if (age < 0 )
+                            alert("то ли киборг, то ли KERNESS")
+                    }
+                }
+            }
+        }
+    }
+}
+
+//switch: sizes
+{
+    let size = +prompt("Введите свой размер одежды");
+    switch (size){
+        case 40: alert("В таблице размеров Великобритании у Вас 6 размер");
+                    break;  
+        case 42: alert("В таблице размеров Великобритании у Вас 8 размер");
+                    break;
+        case 44: alert("В таблице размеров Великобритании у Вас 10 размер");
+                    break;
+        case 46: alert("В таблице размеров Великобритании у Вас 12 размер");
+                    break;
+        case 48: alert("В таблице размеров Великобритании у Вас 14 размер");
+                    break;
+        case 50: alert("В таблице размеров Великобритании у Вас 16 размер");
+                    break;
+        case 52: alert("В таблице размеров Великобритании у Вас 18 размер");
+                    break;
+        case 54: alert("В таблице размеров Великобритании у Вас 20 размер");
+                    break;
+        default: alert("Введите коректно свой размер цифрами");
+    }
+}
+
+//switch: if
+{
+    let color = prompt("Введите цвет","");
+    if (color === "red"){
+        document.write("<div style='background-color: red;'>красный</div><div style='background-color: black; color: white;'>черный</div>");
+    }
+    else if (color === "black"){
+        document.write("<div style='background-color: black; color: white;'>черный</div>");
+    }
+    else if (color === "blue"){
+        document.write("<div style='background-color: blue;'>синий</div><div style='background-color: green;'>зеленый</div>");
+    }
+    else if (color === "green"){
+        document.write("<div style='background-color: green;'>зеленый</div>");
+    }
+    else{
+        document.write("<div style='background-color: gray;'>Я не понял</div>");
+    }
+}
+
+
+//noswitch
+const noSwitch = (key, cases, defaultKey='default') => {
+    let func
+    if (cases[key]){
+        func = cases[key]
+    }
+    else {
+        func = cases[defaultKey]
+    }
+    return func()
+}
+
+const drink = prompt("Что вы любите пить")
+noSwitch(drink, {
+    воду: () =>  console.log('Самый здоровый выбор!'),
+    чай(){ 
+        console.log('Вкусная и полезная штука. Не переусердствуйте с сахаром')
+    },
+    "пиво": () => console.log('Хорошо летом, да в меру'),
+    виски: function(){
+        console.log('Да вы, батенька, эстет! Не забудьте лед и сигару')
+    },
+    default(){
+        console.log('шото я не понял')
+    }
+})
+
+//closure calc

+ 221 - 0
Циклы.js

@@ -0,0 +1,221 @@
+//while confirm
+{
+    while (!confirm('Нажмите OK для выхода')) {}
+}
+
+//array fill
+{
+    let arr = []
+    let el
+    while (el=prompt('Добавьте элемент в массив')) {
+        arr.push(el)
+    }
+    alert(arr)
+}
+
+//array fill nopush
+{
+    let arr = []
+    let el
+    let i = 0
+    while (el=prompt('Добавьте элемент в массив')) {
+        arr[i]=el
+        i++
+    }
+    alert(arr)
+}
+
+//infinite probability
+{
+    let i = 0
+    while (true){
+        i++
+        if (Math.random() > 0.9){
+            break
+        }
+    }
+    alert('Число итераций '+i)
+}
+
+//empty loop
+{
+    while (!prompt('Нажмите OK для выхода')) {}
+}
+
+
+//progression sum
+{
+    let j = 1
+    let result = 1
+    for(let i=1;i<50;i++){
+        if(i===j+3){
+            j+=3
+            result+=i
+        }
+    }
+    console.log(result)
+}
+
+//chess one line
+{
+    let str = ''
+    let lengthStr = 11 //длинна строки
+    for(let i=0;i<lengthStr;i++){
+        if(i%2===0){
+            str+=' '
+        }
+        else{str+='#'}
+    }
+    console.log(str)
+}
+
+//numbers
+{
+    let str = ''
+    for(let i=0; i<10 && str.length<99; i++){
+        str += i
+        for(;i===9;){
+            str += '\n'
+            i = -1
+        }
+    }
+    console.log(str)
+}
+
+//chess
+{
+    let lengthStr = 12 //длинна строки
+    let lines = 10 //колличество строк
+    let str = ''
+    let j = 0
+    for(let i=1; i<=lengthStr && j<lines; i++){
+        if(i%2===0){
+            str+='#'
+        }
+        else{str+='.'}
+        for(; i===lengthStr; j++){
+            str += '\n'
+            if(j%2===0){
+                i=1
+            }
+            else{i=0}
+        }
+    }
+    console.log(str)
+}
+
+//cubes
+{
+    let arr = []
+    for(let i=0; i<10; i++){
+        arr.push(i**3)
+    }
+    console.log(arr)
+}
+
+
+//multiply table
+{
+    let arr = []
+    let j = 0
+    for(let i=0; i<=9; i++){
+        j=0
+        arr[i]=[]
+        for(; j<=9; j++){
+            arr[i].push(j*i)
+            
+        }
+    }
+    console.log(arr)
+}
+
+//read array of objects
+{
+    let readArrayOfObjects = ()=>{
+        let arr = []
+        let obj = {}
+        let key
+        let value
+        let i = 0
+        while (confirm(`Создать обьект с индексом ${i} ?`)){
+            while (key = prompt('Введите ключ или нажмите отмена')) {
+                value = prompt('Введите значение для ключа')
+                obj[key]=value
+            }
+            arr.push(obj)
+            obj = {}
+            i++
+        }
+        alert('Массив обьектов создан')
+        console.log(arr)
+    }
+    readArrayOfObjects()
+}
+
+//ромбик
+{
+    let lengthStr =11 //длинна строки
+    let lines = 6//колличество строк
+    let str = ''
+    let str2 = ''
+    let x = '#'
+    let j = 0
+    for(let i=0; i<=lengthStr && j<lines; i++){
+        if(i===Math.floor(lengthStr/2)){
+            str+=x+str+'\n'
+            i=lengthStr
+        }
+        else{str+='.'}
+        for(; i===lengthStr; j++){
+            str2 += str
+            str=''
+            x+='##'
+            i=j
+        }
+    }
+    str = str2
+    str = str.slice(0,-(str.length/lines)-1)
+    str2 += str.split("").reverse().join("")
+    console.log(str2)
+}
+
+
+//DOM: multiply table
+{
+    let arr = []
+    let j = 0
+    for(let i=0; i<=9; i++){
+        j=0
+        arr[i]=[]
+        for(; j<=9; j++){
+            arr[i].push(j*i)
+            
+        }
+    }
+    arr.shift()
+    let [...arr2] = arr[0]
+    arr.unshift(arr2)
+    let i = 0
+    for (el of arr){
+        el[0]= i
+        i++
+    }
+    let table = document.createElement('table')
+    table.border = '1'
+    table.id= 'table'
+    document.body.append(table)
+
+    for (let elArr of arr) {
+        let tr = document.createElement('tr')
+        
+        
+        for (let el of elArr) {
+            let td = document.createElement('td')
+            td.innerText = el
+            tr.append(td);
+        }
+                
+        table.append(tr)
+    }
+}
+

+ 18 - 1
функции.js

@@ -249,4 +249,21 @@ console.log(flats(65,9,4))//{entrance: 2, floor: 8}
 }
 
 
-
+//Number: divide
+{
+    // "<input type='number' id='firstNumber' value='' />"
+    // "<input type='number' id='secondNumber' value='' />"
+    // "<div id='divisionResult'>"
+    // "Деления нацело двух чисел"
+    // "</div>"
+    // <script>
+    // const calcResult = () => {
+    //     let result = Math.floor(firstNumber.value/secondNumber.value)
+    //     divisionResult.innerHTML = result===Infinity?'Заполните два поля':'Разделено! ' + result
+    //     console.log(firstNumber.value, secondNumber.value, divisionResult.innerHTML)
+    // }
+    
+    // firstNumber.oninput = secondNumber.oninput = calcResult
+    // </script>
+    
+}