// blocks
{
// готово
}
// comparison if
// Разберите пример
// Добавьте условие отрицательного возраста в пример выше.Расставьте недостающие(но синтаксически необязательные) фигурные скобки.Выкиньте лишнее из текущего кода
{
const age = +prompt("Сколько вам лет?", "");
if (age < 0) {
alert("Косишь под Бенджамина Баттона")
}
else {
if (age < 18) {
alert("школьник");
}
else {
if (age < 30) {
alert("молодеж");
}
else {
if (age < 45) {
alert("зрелость");
}
else {
if (age < 60) {
alert("закат");
}
else {
if (age > 60) {
alert("как пенсия?");
}
else {
alert("то ли киборг, то ли KERNESS");
}
}
}
}
}
}
}
// switch: sizes
// Сделайте задание Comparison: sizes используя switch
{
const sizes = prompt('Введите, размер чего будем ковертировать в американскую систему размеров:\nверхняя одежда, платья, брюки, женское белье, чулки, носки')
switch (sizes) {
case 'верхняя одежда':
case 'платья':
case 'брюки':
let firstPart = +prompt('Введите размер одежды в Украине')
alert(`Украинский ${firstPart} размер соответствует американскому ${6 + firstPart % 40} размеру`)
break;
case 'женское белье':
let secondPart = +prompt('Введите размер одежды в Украине')
alert(`Украинский ${secondPart} размер соответствует американскому ${8 + secondPart % 42} размеру`)
break;
case 'чулки':
let thirdPart = +prompt('Введите размер одежды в Украине')
alert(`Украинский ${thirdPart} размер соответствует американскому ${8 + (thirdPart % 21) / 2} размеру`)
break;
default: alert('Неправильная категория/мы такое не считаем')
}
}
// switch: if
// Перепишите пример ниже, используя if
// Обратите внимание, на пропуски break
{
let color = prompt("Введите цвет", "");
if (color === 'red') {
document.write("
красный
")
document.write("черный
")
}
else if (color === 'black') {
document.write("черный
")
}
else if (color === 'blue') {
document.write("синий
")
document.write("зеленый
");
}
else if (color === 'green') {
document.write("зеленый
")
}
else {
document.write("Я не понял
")
}
}
// noswitch
// Напишите функцию noSwitch, которая принимает объект со значениями - функциями, ключ для объекта и запускает одну из функций из объекта если ключ найден, иначе - запускает default:
{
const noSwitch = (key, cases, defaultKey = 'default') => {
if (key in cases)
cases[key]()
else cases.defaultKey()
}
const drink = prompt("Что вы любите пить")
noSwitch(drink, {
воду: () => console.log('Самый здоровый выбор!'),
чай() {
console.log('Вкусная и полезная штука. Не переусердствуйте с сахаром')
},
"пиво": () => console.log('Хорошо летом, да в меру'),
виски: function () {
console.log('Да вы, батенька, эстет! Не забудьте лед и сигару')
},
defaultKey() {
console.log('шото я не понял')
}
})
}
// closure calc
// Напишите внутри анонимной функции, переданной в then(data =>):
// цикл, который перебирает курсы;
// на каждой итерации создается кнопка(document.createElement)
// текст кнопки - название валюты(innerHTML или innerText)
// Назначьте обработчик события на этой кнопке(onclick = () => {.....}).Функция - обработчик должна быть написана прямо в теле цикла
// Обработчик должен спрашивать сумму используя prompt и переводить эту суммы из валюты, написанной на кнопке в USD
// Найдите замыкания. Для доступа к валютам из data.rates используйте[], .тут не поможет.Кнопки добавляйте в специальный контейнер(div например), созданный в HTML, или, на худой конец, в body
{
fetch('https://open.er-api.com/v6/latest/USD').then(res => res.json())
.then(data => {
const div = document.createElement('div')
document.body.append(div)
for (const [currency, value] of Object.entries(data.rates)) {
const btn = document.createElement('button')
btn.style.cssText = `
min-width: 50px;
margin: 0 5px 5px;
`
div.append(btn)
btn.innerText = `${currency}`
btn.onclick = () => {
const summ = +prompt('Введите сумму в валюте кнопки')
alert(`Это равно ${(summ / value).toFixed(2)} долларов`)
}
}
// console.log(data) //изучите структуру, получаемую с сервера в консоли
})
}
// closure calc 2
{
// реализовано в файле HW09.html
}
// countries and cities
{
// реализовано в файле HW09.html
}