// //assign: evaluation var a = 5; var b, c; // //if we delete brackets functionality is same // // b = (a * 5); // // b = (c = b/2); // // a = 5 // // b = 12,5 // // c = 12,5 //one line variant c = b = (a * 5) / 2; // // forgot one semicolon! // // for(let i = 0 i < 5; i++) { // // console.log(i) // // } // // wrong usage of semicolon // //let a; b = 5; // //b = 5 c = b + 1; // //semicolon logic errors // // if(a === 5) { // // console.log('FIVE!') // // }else; console.log('not five(') //GET YEAR TASK: function getAge(age, currentYear = new Date().getFullYear()) { try { age = Math.trunc(Number(age)) if(!age || isNaN(age) || age > 200 || age < 0) { throw e } else { currentYear = currentYear - age return [currentYear, currentYear-1] } } catch(e) { return 0 } } let year = getAge(prompt("input your age","")) if(year) { alert(`Looks like you've been born in ${year[0]} or ${year[1]}`) } else { alert('whoops, looks like invalid input value has been given!') } //GET TEMPERATURE TASK: try { let grad = Number(prompt("Input temperature","")) let sys = prompt(` Type: F - to translate to Fahrenheit C - to translate to Celsius `) let res = getTemperature(grad, sys) if(res) { alert(`${grad}${sys.toLowerCase() === 'c'? '°F':'°C'} = ${res}${sys.toLowerCase() === 'c'? '°C':'°F'}`) } else { throw e; } } catch(e) { alert('invalid input!') } function getTemperature(value, system="c") { if(isNaN(Number(value))) return false switch(system.toLowerCase()) { case 'f': return ((value * 9/5) + 32).toFixed(2) case 'c': return ((value - 32) * 5/9).toFixed(2) default: return false } } //divide using floor function flooredDivide(num1, num2) { console.log(num1 / num2) return Math.floor(num1 / num2) } //infor user if number given is odd task function oddInformer() { let num = prompt("input a number:", "") if(isNaN(+num) || !num) { alert("not a number!!!") } else { if(num % 2 !== 0) { alert(`${num} is odd`) } else { alert(`${num} is even`) } } } //greet user using alert() and prompt() function greeting() { let name = prompt("Hey user, what's your name") alert(`Hello, ${name? name : 'Namless One...'}`) } //check if text contains desired words function lexis(string, word) { if(string.indexOf(word) > 0) { return true } else { return false } } let quest1 = confirm('are you a human being?') let quest2 = confirm('can you fly?') if(quest1) { if(quest2) { alert('wow, you are Superman!') } else { alert('Congrats, you are a real human being...') } } else { if(quest2) { alert('so u must be a bird or smth :/') } else { alert('is machine spirit talking to me?') } } let inMyBag = ['shoes', 'shorts', 'shirt', 'laptop', 'charger', 'copybook', 'pen', 'water-bottle'] let answers = [quest1, quest2] //toying with arrays let plus = [1, 2] plus[2] = plus[0] + plus[1] console.log(plus) let plusStr = ['hello', 'My', 'World',] plusStr[plusStr.length] = plusStr[0] + plusStr[1] + plusStr[2] console.log(plusStr) //toying with objects let keyboard = { model: 'sven slim 303', type: 'membrane', price: '5$' } let guitar = { type: 'electric', form: 'stratocaster', strings: 6, manufacturer: 'Fender' } keyboard.price = '10$' guitar['form'] = 'telecaster' //add brackets var age = +prompt("Сколько вам лет?",""); if (age < 18 && age > 0){ 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 && age <= 150 ) { alert("как пенсия?"); } else { alert("то ли киборг, то ли ошибка"); } } } } } //Comparison: sizes let rusSize = prompt('Введите НАШ формат размера для переводa на на Американский формат','') let usSize = [ { number: [6], men: 'S', woman:['XXS'] }, { number: [8, 10], men: 'M', woman:['XXS', 'XS'] }, { number: [12, 14], men: 'L', woman:['S', 'M'] }, { number: [16, 18], men: 'XL', woman:['L','XL'] }, { number: [20, 22], men: 'XXL', woman:['XXL', 'XXXL'] }, ] if(+rusSize && +rusSize >= 40 && +rusSize <= 56) { rusSize = +rusSize let flag = 0 if(rusSize % 2 !== 0) { rusSize-- flag++ } for(let i = 0; i < usSize.length; i++) { let temp = usSize[i].number.findIndex(element => { return element === (rusSize - 34)}) if(temp >= 0) { alert(` ${rusSize+flag}-й размер в американском формате: ------------------------------------------ Размер: ${usSize[i].number[temp]} Мужчины: ${usSize[i].men} Женщины: ${usSize[i].woman[temp]} ------------------------------------------ `) break; } } } else { alert('Неправильный размер.') } //Ternary alert(`${confirm('Вы мужчина?')? 'Вы мужчина.':'Вы женщина.'}`) //flats function flats(floors, flatsPerFloor, flatNumber) { let info = { flat: flatNumber, building: Math.ceil(flatNumber/(floors * flatsPerFloor)), } info.floor = flatNumber/flatsPerFloor > floors? Math.ceil(flatNumber/flatsPerFloor)-floors*(info.building-1) : Math.ceil(flatNumber/flatsPerFloor); return info; }