123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259 |
- //assign: evaluation
- var a = 5;
- var b, c;
- c = (b = (a * 5) / 2);
- // b = (a * 5);
- // b = (c = b/2);
- // a = 5
- // b = 12,5
- // c = 12,5
- // 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')
- //Number: age
- 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!')
- }
- //Number: temperature
- 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
- }
- }
- //Number: divide
- function flooredDivide(num1, num2) {
- console.log(num1 / num2)
- return Math.floor(num1 / num2)
- }
- //Number: odd
- 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`)
- }
- }
- }
- //String: greeting
- //greet user using alert() and prompt()
- function greeting() {
- let name = prompt("Hey user, what's your name")
- alert(`Hello, ${name? name : 'Namless One...'}`)
- }
- //String: lexis
- function lexis(string, word) {
- if(string.indexOf(word) > 0) {
- return true
- } else {
- return false
- }
- }
- //confirm возвращает true либо false по нажатию на кнопки 'Ок' или 'Отмена' соответственно.
- //Boolean
- 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?')
- }
- }
- //Array: real
- let inMyBag = ['shoes', 'shorts', 'shirt', 'laptop', 'charger', 'copybook', 'pen', 'water-bottle']
- //Array: booleans
- let answers = [quest1, quest2]
- //Array: plus
- let plus = [1, 2]
- plus[2] = plus[0] + plus[1]
- console.log(plus)
- //Array: plus string
- //возможность можно использовать что бы создавать новые строки из множества строчных значений
- let plusStr = ['hello', 'My', 'World',]
- plusStr[plusStr.length] = plusStr[0] + plusStr[1] + plusStr[2]
- console.log(plusStr)
- // Object: real
- let keyboard = {
- model: 'sven slim 303',
- type: 'membrane',
- price: '5$'
- }
- let guitar = {
- type: 'electric',
- form: 'stratocaster',
- strings: 6,
- manufacturer: 'Fender'
- }
- //Object: change
- keyboard.price = '10$'
- guitar['form'] = 'telecaster'
- // Comparison if
- 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;
- }
|