main.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. //blocks
  2. {
  3. let a = 10
  4. {
  5. let b = 20
  6. {
  7. let c = 30
  8. // a=100, b=21, c=30
  9. b++
  10. a *= 10
  11. console.log(a,b,c)
  12. }
  13. {
  14. let c = 50
  15. // a=10, b=521, c=50
  16. b += 500
  17. console.log(a,b,c)
  18. }
  19. {
  20. const a = 100500
  21. const d = "value"
  22. // a=100500, b=521, c=undefined, d="value"
  23. console.log(a,b,d)
  24. {
  25. let a = -50
  26. b = 1000
  27. // a=-50, b=1000, c=undefined, d="value"
  28. console.log(a,b,d)
  29. }
  30. // a=100500, b=1000, c=undefined, d="value"
  31. console.log(a,b,d)
  32. }
  33. // a=10, b=1000, c=undefined, d=undefined
  34. console.log(a,b)
  35. }
  36. //a=100, b=undefined, c=undefined, d=undefined
  37. console.log(a)
  38. //comparison if
  39. var age = +prompt("Сколько вам лет?","")
  40. if(age < 0){
  41. alert("Не бреши!")
  42. }
  43. else { if (age < 18){
  44. alert("школьник")
  45. }
  46. else { if (age > 18 && age < 30){
  47. alert("молодеж")
  48. }
  49. else {if (age > 30 && age < 45){
  50. alert("зрелость")
  51. }
  52. else {if (age > 45 && age < 60){
  53. alert("закат")
  54. }
  55. else {if (age > 60){
  56. alert("как пенсия?")
  57. }
  58. else {
  59. alert("то ли киборг, то ли KERNESS")
  60. }
  61. }
  62. }
  63. }
  64. }
  65. }
  66. }
  67. //switch: sizes
  68. {
  69. let size = +prompt("Write your size of outerwear?(In USA)") + 2
  70. let sizeSecond = confirm("Обхват вашей талии 63 - 65 см?") && confirm("Обхват ваших бедер 89-92 см?")
  71. switch(size){
  72. case 6 :
  73. alert(`Your size in UK: ${size}`)
  74. break ;
  75. case 8 :
  76. alert(`Your size in UK: ${size}`)
  77. break ;
  78. case 10 :
  79. alert(`Your size in UK: ${size}`)
  80. break ;
  81. case 12 :
  82. alert(`Your size in UK: ${size}`)
  83. break ;
  84. case 14 :
  85. alert(`Your size in UK: ${size}`)
  86. break ;
  87. case 16 :
  88. alert(`Your size in UK: ${size}`)
  89. break ;
  90. case 18 :
  91. alert(`Your size in UK: ${size}`)
  92. break ;
  93. }
  94. switch(sizeSecond){
  95. case true :
  96. alert("Ваш размер XS")
  97. break;
  98. case false :
  99. alert("Ваш размер больше XS")
  100. break;
  101. }
  102. }
  103. //switch: if
  104. {
  105. let color = prompt("Введите цвет","")
  106. if(color === "red" || color ==="black"){
  107. document.write("<div style='background-color: red;'>красный</div>")
  108. document.write("<div style='background-color: black; color: white;'>черный</div>")
  109. }
  110. if(color === "blue" || color === "green"){
  111. document.write("<div style='background-color: blue;'>синий</div>")
  112. document.write("<div style='background-color: green;'>зеленый</div>")
  113. }
  114. if(!color){
  115. document.write("<div style='background-color: gray;'>Я не понял</div>")
  116. }}
  117. //noswitch
  118. {
  119. const drink = prompt("Что вы любите пить")
  120. const noSwitch = (key, cases, defaultKey='default') => {
  121. if(cases[key]){
  122. cases[key]()
  123. }
  124. else {
  125. cases[defaultKey]()
  126. }
  127. }
  128. noSwitch(drink, {
  129. воду: () => console.log('Самый здоровый выбор!'),
  130. чай(){
  131. console.log('Вкусная и полезная штука. Не переусердствуйте с сахаром')
  132. },
  133. "пиво": () => console.log('Хорошо летом, да в меру'),
  134. виски: function(){
  135. console.log('Да вы, батенька, эстет! Не забудьте лед и сигару')
  136. },
  137. default(){
  138. console.log('шото я не понял')
  139. }
  140. })
  141. }
  142. //closure calc
  143. fetch('https://open.er-api.com/v6/latest/USD').then(res => res.json())
  144. .then(data => {
  145. const objOfCurrency = Object.entries(data.rates)
  146. for (let [key,value] of objOfCurrency){
  147. const button = document.createElement('button')
  148. button.innerHTML = `${key}`
  149. document.body.append(button)
  150. button.onclick = () => {
  151. const sum = +prompt("Write sum for change: ")
  152. const result = (sum / value).toFixed(2)
  153. alert(`You get ${result}$`)
  154. }
  155. }
  156. console.log(data)
  157. })
  158. //closure calc 2
  159. {
  160. fetch('https://open.er-api.com/v6/latest/USD').then(res => res.json())
  161. .then(data => {
  162. const obj = data.rates
  163. let rate = {}
  164. for (let key in obj) {
  165. let option = document.createElement("option")
  166. option.innerHTML = key
  167. from.append(option)
  168. option = document.createElement("option")
  169. option.innerHTML = key
  170. to.append(option)
  171. let rateOfKeys = {}
  172. rate[key] = rateOfKeys
  173. for (let rateKey in obj) {
  174. rateOfKeys[rateKey] = obj[rateKey] / obj[key]
  175. }
  176. }
  177. const funcResult = () => {
  178. const fromValue = from.value
  179. const toValue = to.value
  180. const amountValue = amount.value
  181. let rates = rate[fromValue][toValue]
  182. result.innerHTML =`Your result is: ${amountValue * rates}`
  183. rate.innerHTML = amountValue
  184. }
  185. from.onchange = funcResult
  186. to.onchange = funcResult
  187. amount.oninput = funcResult
  188. })
  189. }
  190. //countries and cities
  191. fetch('https://raw.githubusercontent.com/russ666/all-countries-and-cities-json/master/countries.min.json').then(res => res.json())
  192. .then(data => {
  193. for(country in data){
  194. let option = document.createElement("option")
  195. option.innerHTML = country
  196. countries.append(option)
  197. }
  198. const funcCity = () => {
  199. cities.innerHTML = ""
  200. for(city of data[countries.value]) {
  201. let option = document.createElement("option")
  202. option.innerHTML = city
  203. cities.append(option)
  204. }
  205. }
  206. countries.onchange = funcCity
  207. funcCity()
  208. console.log(data)
  209. })