ostapenkonataliia 2 năm trước cách đây
mục cha
commit
b8f8757025
9 tập tin đã thay đổi với 307 bổ sung20 xóa
  1. 12 0
      Js 03/.idea/Js 03.iml
  2. 8 0
      Js 03/.idea/modules.xml
  3. 6 0
      Js 03/.idea/vcs.xml
  4. 50 0
      Js 03/.idea/workspace.xml
  5. 4 0
      Js 03/css.css
  6. 1 1
      Js 03/index.html
  7. 26 19
      Js 03/js.js
  8. 188 0
      Js 04/JS.js
  9. 12 0
      Js 04/index.html

+ 12 - 0
Js 03/.idea/Js 03.iml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="WEB_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$">
+      <excludeFolder url="file://$MODULE_DIR$/temp" />
+      <excludeFolder url="file://$MODULE_DIR$/.tmp" />
+      <excludeFolder url="file://$MODULE_DIR$/tmp" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 8 - 0
Js 03/.idea/modules.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/Js 03.iml" filepath="$PROJECT_DIR$/.idea/Js 03.iml" />
+    </modules>
+  </component>
+</project>

+ 6 - 0
Js 03/.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
+  </component>
+</project>

+ 50 - 0
Js 03/.idea/workspace.xml

@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ChangeListManager">
+    <list default="true" id="bd7ba478-88cb-4b83-8ab3-8325c8e6aa82" name="Changes" comment="">
+      <change afterPath="$PROJECT_DIR$/../Js 04/JS.js" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/../Js 04/index.html" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../Js 02" beforeDir="false" afterPath="$PROJECT_DIR$/../Js 02" afterDir="false" />
+    </list>
+    <option name="SHOW_DIALOG" value="false" />
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+    <option name="LAST_RESOLUTION" value="IGNORE" />
+  </component>
+  <component name="Git.Settings">
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/.." />
+  </component>
+  <component name="MarkdownSettingsMigration">
+    <option name="stateVersion" value="1" />
+  </component>
+  <component name="ProjectId" id="2GnkLJCEzuIZ69ek4CIM6DMngdw" />
+  <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
+  <component name="ProjectViewState">
+    <option name="hideEmptyMiddlePackages" value="true" />
+    <option name="showLibraryContents" value="true" />
+  </component>
+  <component name="PropertiesComponent"><![CDATA[{
+  "keyToString": {
+    "RunOnceActivity.OpenProjectViewOnStart": "true",
+    "RunOnceActivity.ShowReadmeOnStart": "true",
+    "WebServerToolWindowFactoryState": "false",
+    "last_opened_file_path": "C:/A-Level/JS/Js 03",
+    "vue.rearranger.settings.migration": "true"
+  }
+}]]></component>
+  <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
+  <component name="TaskManager">
+    <task active="true" id="Default" summary="Default task">
+      <changelist id="bd7ba478-88cb-4b83-8ab3-8325c8e6aa82" name="Changes" comment="" />
+      <created>1667031678014</created>
+      <option name="number" value="Default" />
+      <option name="presentableId" value="Default" />
+      <updated>1667031678014</updated>
+      <workItem from="1667031679575" duration="14000" />
+    </task>
+    <servers />
+  </component>
+  <component name="TypeScriptGeneratedFilesManager">
+    <option name="version" value="3" />
+  </component>
+</project>

+ 4 - 0
Js 03/css.css

@@ -0,0 +1,4 @@
+iframe {
+    width: 500px;
+    height: 315px;
+}

+ 1 - 1
Js 03/index.html

@@ -4,8 +4,8 @@
     <meta charset="UTF-8">
     <title>Title</title>
     <script src="js.js"></script>
+    <link rel="stylesheet" href="css.css">
 </head>
 <body>
-
 </body>
 </html>

+ 26 - 19
Js 03/js.js

@@ -1,13 +1,11 @@
-
-
-// 1 . String: greeting +
+// 1 . String: greeting
 // Спросите у пользователя имя, и поприветствуйте его с помощью alert.
 {/*
     const name = prompt("Как Вас зовут?");
     alert(`Приветсвуем Вас, ${name}`) */
 }
 
-// 2. String: gopni4ek +
+// 2. String: gopni4ek
 //Попросите пользователя ввести строку через prompt. Используя split и join сделайте что бы после любой запятой следовало
 // слово блин, .
 {/*
@@ -17,7 +15,7 @@
     console.log(result); */
 }
 
-//3. String: capitalize +
+//3. String: capitalize
 //Преобразуйте строку, введенную пользователем, таким образом, что бы первая буква становилась большой,
 // а остальные - маленькими:
 { /*
@@ -27,7 +25,7 @@
     console.log(result) */
 }
 
-//4. String: word count +
+//4. String: word count
 // Посчитайте количество слов в строке. Используйте разбиение по пробелам. Длина массива называется так же, как и длина строки.
 { /*
     const line = "Мы сидели на ДжиЭсе прибавляли тихо в весе"
@@ -36,7 +34,7 @@
     alert(`В масиве ${words.length} символов`); */
 }
 
-//5. String: credentials +
+//5. String: credentials
 // a. Спросите у пользователя ФИО, используя prompt трижды. Выкиньте лишние пробелы, используя .trim
 // b. Используя String: capitalize сделайте так, что бы каждое слово в ФИО было с большой буквы, а остальные - маленькие
 // c. Объедините эти три строки в одну переменную fullName и выведите куда-то(alert, console.log). Не забудьте пробелы между словами.
@@ -57,7 +55,7 @@
     console.log(result) */
 }
 
-//6. String: beer +
+//6. String: beer
 // Не используя .replace замените слово пиво в строке на слово чай
 {/*
     let str = "Было жарко. Василий пил пиво вприкуску с креветками"
@@ -68,30 +66,39 @@
 //7. String: no tag +
 // Найдите в строке HTML тэг. Удалите, т. е. вырежьте его - создайте другую строку, в которой будет все символы до тэга
 // и после него Тэг может быть любым
-{ /*
-    let str = "<div id=\"tera\">Здесь важная <a href=\"link\">информация</a></div> о тегах HTML."
-    let result = str.replace(/<[^>]+>/g,'');
 
+{/*
+    let str = "какой-то текст в котором есть один тэг <br/> и всякое другое";
+    let result = `${str.slice(0, str.indexOf('<') - 1)} ${str.slice(str.indexOf('>') + 2)}`;
     alert(result); */
 }
 
 //8. String: big tag
 //На основе предыдущего задания сделайте тэг большими буквами:
-{ /*
+{/*
     let str = "какой-то текст в котором есть один тэг <br/> и всякое другое";
-    let tag = str.split(' ')[7].toUpperCase();
-    let result = str.split(' ')[7].toUpperCase();
-    console.log(tag); */
+    let result = `${str.slice(0, str.indexOf('<') - 1)} ${str.slice(-21, -16).toUpperCase()} ${str.slice(str.indexOf('>') + 2)}`;
+    alert(result); */
 }
 
-
 //9. String: new line
 // Попросите пользователя ввести строку через prompt. prompt не позволяет вводить многострочные строки.
 // Дадим пользователю такую возможность - Пользователь может вводить \n в качестве маркера новой строки.
 // Используя split и join сделайте эту строку воистину многострочной и выведите в консоль или через alert.
 { /*
-    const str = prompt(`Как\nваши\nдела?`);
-    alert(str);
-    console.log(str); */
+    let str = prompt('введите несколько строк разделенных \n');
+    let result = str.split('\\n').join('\n');
+    alert(result); */
+}
+//10. String: youtube
+{
+    const regular = /http(?:s?):\/\/(?:www\.)?youtu(?:be\.com\/watch\?v=|\.be\/)([\w\-\_]*)(&(amp;)?‌​[\w\?‌​=]*)?.*$/;
+    let youtube = prompt();
+    youtube = youtube.match(regular);
+    let video = `https://www.youtube.com/embed/${youtube[1]}`
+    document.write(`<iframe src="${video}"></iframe>`);
 }
 
+
+
+

+ 188 - 0
Js 04/JS.js

@@ -0,0 +1,188 @@
+//1. Number: odd +
+//С помощью prompt узнайте число, введенное пользователем. С помощью if проверьте что число корректно преобразовано
+// из строки. В случае ошибки выведите сообщение Выведите четное число или нет, используя if.
+/*{
+    const a = +prompt ('Введите число');
+    if ( !parseInt(a) ) {
+        alert ('Нужно писать число!');
+    }
+    if (a % 2 === 0) {
+        alert("Число четное")
+    } else {
+        alert("Число нечечтное")
+    }
+} */
+
+//2. String: lexics  +-
+// Спросите у пользователя текст, и проверьте его на наличие некорректного слова или нескольких некорректных слов.
+// Используйте метод indexOf (или includes) строки:
+//"123".indexOf("23") //возвращает 1 - позицию подстроки "23" в "123"
+//"abcdef".indexOf("ef") // 4
+//"12345".indexOf("some bad word") // -1 - не найдено
+/*
+const line = prompt("Введите текст");
+console.log(line.indexOf("блин")); */
+
+//3. Boolean +
+// Напишите код, который спрашивает те или иные вопросы с ответом "да"/"нет" с помощью confirm, и
+// сохраняет ответы в переменных.
+/*
+let study = confirm("Вы студент?");
+let family = confirm("Вы женаты/замужем?");
+let child = confirm("У вас есть дети?"); */
+
+//4. Comparison: sizes +
+// Сделайте перевод из нашей системы размеров в американскую или любую на выбор. Используйте prompt,
+// условия сравнения и alert.
+/*
+const size = +prompt("Введите ваш украинский размер одежды (верхняя одежда, платья, брюки)");
+if (size < 40) {
+    alert("Ваш размер по размерной сетке США XS")
+}
+if (size === 40) {
+    alert("Ваш размер по размерной сетке США S")
+}
+if (size >= 42 && size <= 44) {
+    alert("Ваш размер по размерной сетке США M")
+}
+if (size >= 46 && size <= 48) {
+    alert("Ваш размер по размерной сетке США L")
+}
+if (size >= 50 && size <= 52) {
+    alert("Ваш размер по размерной сетке США XL")
+}
+if (size >= 54 ) {
+    alert("Ваш размер по размерной сетке США XXL")
+} */
+
+//5. Ternary +
+// Спросите у пользователя пол (confirm). Выведите с помощью alert "Вы мужчина" или "Вы женщина".
+// Используйте тернарный оператор.
+/*
+let sex = confirm("Ваш пол женский?") ? alert("Вы женщина!") : alert("Вы мужчина!"); */
+
+//7. Prompt: or +-
+// Для задания Number: age используя ИЛИ || вывести сообщение об ошибке (alert) если пользователь не введет возраст
+// или нажмет отмену (т. е. prompt выдаст пустую строку или null, интерпретируемую как false).
+/*
+const age = prompt('Сколько Вам лет?');
+if (age === "" || age === null) {
+    alert("Условие обязательно, введите пожалуйста свой возраст")
+}
+const bornYear = 2022 - age;
+alert(`Ваш год рождения ${bornYear}`); */
+
+//8. Confirm: or this days +
+// C помощью этого же трюка (использование ИЛИ для запуска альтернативы) сделайте капризного робота, который в confirm
+// спрашивает "шопинг?", а в случае отказа - выводить alert "ты - бяка".
+/*
+const message = confirm('Шопинг????') ? "Погнали" : "Ты бяка"
+alert(message); */
+
+//9.  Confirm: if this days +
+// Сделать тоже самое с помощью if.
+/*const shoping = confirm("Шопинг???");
+if (shoping === false) {
+    alert("Ты бяка")
+} */
+
+//10.  Default: or
+// Попросите пользователя ввести ФИО в три разныe переменныe. Используя ИЛИ || добавьте строки по умолчанию, которые
+// будут сохраняться во внутренних переменных если пользователь ввел пустую строку или нажал "Отмена". Например,
+// если вы на шаге ввода Фамилии нажмете Escape, фамилия будет "Иванов"
+
+//10. Default: if +
+// Сделайте тоже самое с помощью if и else
+/*
+let secondName = prompt("Введите вашу фамилию");
+if (secondName === "" || secondName === null) {
+    secondName = "Иванов"
+}
+let firstName = prompt("Введите ваше имя");
+if (firstName === "" || firstName === null) {
+    firstName = "Иван"
+}
+let patronymic = prompt("Введите ваше отчество");
+if (patronymic === "" || patronymic === null) {
+    patronymic = "Иванович"
+}
+let result = secondName + " " + firstName + " " + patronymic;
+console.log(result) */
+
+//11.  Login and password +
+// Напишите код, который спрашивает логин, проверяет его на верность, в случае если логин верен, просит ввести пароль
+// и проверяет его. В случае несовпадения логина или пароля выводить alert с текстом ошибки. В случае успешного логина -
+// alert с поздравлением. Правильные логин: admin и пароль: qwerty. Используйте вложенные if и else.
+/*
+let userName = prompt("Введите логин");
+
+if (userName === 'admin') {
+    let pass = prompt("Введите пароль");
+    if (pass === 'qwerty') {
+        alert('Успешный вход');
+    } else if (pass === '' || pass == null) {
+        alert('Пароль не введен');
+    } else {
+        alert('Неправильный пароль');
+    }
+} else if (userName === '' || userName == null) {
+    alert('Логин не введен');
+} else {
+    alert("Неправильный логин");
+} */
+
+//12. Currency exchange
+
+// let money = prompt("Введите валюту (eur, usd или другое)");
+// let
+
+//13. Scissors +
+//Сделайте игру "камень-ножницы-бумага". Пользователь вводит свой вариант через prompt, программа генерирует свой
+// вариант через Math.random() и выводит через alert. Следующий alert выводит имя победителя или "ничья"
+/*
+const select = prompt("Что хотите? Бумага , Ножницы, Камень")
+const items = ['Бумага', 'Ножницы', 'Камень']
+
+if (!select) {
+    location.reload()
+} else {
+    document.write(`<p>Вы: ${select}</p>`)
+}
+
+let selectComputer = items[Math.floor(Math.random()*items.length)];
+
+document.write(`<p>Робот: ${selectComputer}</p>`);
+
+const compare = (choice1,choice2) => {
+    if (choice1 === choice2) {
+        return "Ничья";
+    }
+    if (choice1 === "камень") {
+        if (choice2 === "ножницы") {
+            return "Вы выиграли!";
+        } else {
+            return "Вы проиграли!";
+        }
+    }
+    if (choice1 === "бумага") {
+        if (choice2 === "камень") {
+            return "Вы выиграли!";
+        } else {
+            return "Вы проиграли!";
+        }
+    }
+    if (choice1 === "ножницы") {
+        if (choice2 === "камень") {
+            return "Вы проиграли!";
+        } else {
+            return "Вы выиграли";
+        }
+    }
+
+    return 'Начните игру заново!'
+};
+
+const result = compare(select.toLowerCase(),selectComputer.toLowerCase());
+
+document.write(`<br><hr><br> ${result}`);
+*/

+ 12 - 0
Js 04/index.html

@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Title</title>
+    <script src="JS.js"></script>
+
+</head>
+<body>
+
+</body>
+</html>