123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- // 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("<div style='background-color: red;'>красный</div>")
- document.write("<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>")
- document.write("<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
- // Напишите функцию 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
- }
|