js lec 1 added
This commit is contained in:
2
lectures/lec5/p1/task1.js
Normal file
2
lectures/lec5/p1/task1.js
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
alert("Hello, world!");
|
||||||
|
document.write("Hello, world!");
|
||||||
6
lectures/lec5/p1/task2.js
Normal file
6
lectures/lec5/p1/task2.js
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
let _name = "Алина";
|
||||||
|
let email = "alina@test.ru";
|
||||||
|
|
||||||
|
let message = `Доброго времени суток, ${_name}! Мы отправили Вам приглашение на почту ${email}.`;
|
||||||
|
|
||||||
|
document.write(`<h3>${message}</h3>`);
|
||||||
8
lectures/lec5/p1/task3.js
Normal file
8
lectures/lec5/p1/task3.js
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
let p = prompt("Введите значение переменной p:");
|
||||||
|
|
||||||
|
if (isNaN(parseFloat(p)) || !isFinite(Number(p))) {
|
||||||
|
alert("Ошибка: введено не число.");
|
||||||
|
} else {
|
||||||
|
p = Number(p) + 1;
|
||||||
|
alert(`Увеличенное значение переменной p: ${p}`);
|
||||||
|
}
|
||||||
1
lectures/lec5/p1/task4.js
Normal file
1
lectures/lec5/p1/task4.js
Normal file
@@ -0,0 +1 @@
|
|||||||
|
let result = n > 0 ? 1 / n : n < 0 ? 1 / n ** 2 : 0;
|
||||||
10
lectures/lec5/p1/task5.js
Normal file
10
lectures/lec5/p1/task5.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
let n = 81;
|
||||||
|
let i = 1;
|
||||||
|
|
||||||
|
let out = "<select>";
|
||||||
|
for (let i = 1; i ** 2 <= n; i+=2) {
|
||||||
|
out += `<option>${i**2}</option>`
|
||||||
|
}
|
||||||
|
out += "</select>";
|
||||||
|
|
||||||
|
document.write(out);
|
||||||
3
lectures/lec5/p1/task6.js
Normal file
3
lectures/lec5/p1/task6.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
function sum() {
|
||||||
|
return arguments.reduce((total, num) => total + num, 0);
|
||||||
|
}
|
||||||
3
lectures/lec5/p1/task7.js
Normal file
3
lectures/lec5/p1/task7.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
sum = function(...args) {
|
||||||
|
return args.filter(num => num % 2 !== 0).reduce((acc, num) => acc + num, 0);
|
||||||
|
}
|
||||||
3
lectures/lec5/p1/task8.js
Normal file
3
lectures/lec5/p1/task8.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
sum = (...args) => {
|
||||||
|
return args.filter(num => num % 2 !== 0).reduce((acc, num) => acc + num, 0);
|
||||||
|
}
|
||||||
4
lectures/lec5/p2/task1.js
Normal file
4
lectures/lec5/p2/task1.js
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
function sumNumbers(str){
|
||||||
|
str=str.split(" ");
|
||||||
|
return str.filter(substr => !isNaN(parseFloat(substr)) && isFinite(Number(substr))).reduce((acc,num) => acc+num,0);
|
||||||
|
}
|
||||||
3
lectures/lec5/p2/task2.js
Normal file
3
lectures/lec5/p2/task2.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
function extractText(html){
|
||||||
|
return html.split("<p>").filter(substr => substr.includes("</p>")).map(substr = substr.split("</p>")[0]);
|
||||||
|
}
|
||||||
8
lectures/lec5/p2/task3.js
Normal file
8
lectures/lec5/p2/task3.js
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
let arr = [12, 17, 12, 67, 23, 67, 8, 8, 9, 12, 8];
|
||||||
|
|
||||||
|
let newArr = arr.filter(function (item, index) {
|
||||||
|
return arr.indexOf(item) === index;
|
||||||
|
});
|
||||||
|
|
||||||
|
alert(newArr);
|
||||||
|
//12,17,67,23,8,9
|
||||||
8
lectures/lec5/p2/task4.js
Normal file
8
lectures/lec5/p2/task4.js
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
function sortNumbers(str){
|
||||||
|
str=str.split(" ");
|
||||||
|
return str.filter(substr => !isNaN(parseFloat(substr)) && isFinite(Number(substr))).map(Number).sort((a,b) => {return Number(a)-Number(b)});
|
||||||
|
}
|
||||||
|
|
||||||
|
alert(sortNumbers(" 12 234 67 aboba 123 123 83 27 6"))
|
||||||
|
|
||||||
|
|
||||||
10
lectures/lec5/p3/task1.js
Normal file
10
lectures/lec5/p3/task1.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
let items = {
|
||||||
|
'ручка': 20,
|
||||||
|
'альбом': "a16",
|
||||||
|
'тетрадь': 10
|
||||||
|
};
|
||||||
|
|
||||||
|
let entries = Object.entries(items);
|
||||||
|
items=Object.fromEntries(entries.filter(entry =>!isNaN(parseFloat(entry[1]) && isFinite(Number(entry[1])))))
|
||||||
|
|
||||||
|
console.log(items);
|
||||||
17
lectures/lec5/p3/task2.js
Normal file
17
lectures/lec5/p3/task2.js
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
|
||||||
|
function updateObject(oldObject, newObject) {
|
||||||
|
const [newKey, newValue] = Object.entries(newObject)[0];
|
||||||
|
if (newKey in oldObject) {
|
||||||
|
oldObject[newKey] += newValue;
|
||||||
|
} else {
|
||||||
|
oldObject[newKey] = newValue;
|
||||||
|
}
|
||||||
|
return oldObject;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const oldObject = { 1: 10, 2: 20, 3: 30 };
|
||||||
|
const newObject = { 2: 15 };
|
||||||
|
|
||||||
|
const updatedObject = updateObject(oldObject, newObject);
|
||||||
|
console.log(updatedObject);
|
||||||
15
lectures/lec5/p3/task3.js
Normal file
15
lectures/lec5/p3/task3.js
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
let objGoods = {
|
||||||
|
"ручка": [100, 50.60],
|
||||||
|
"карандаш": [120, 30.00],
|
||||||
|
"тетрадь": [200, 10.50]
|
||||||
|
};
|
||||||
|
|
||||||
|
outArr = [];
|
||||||
|
Object.entries(objGoods).forEach((entry) => {
|
||||||
|
let name = entry[0];
|
||||||
|
entry[1].forEach(price => {
|
||||||
|
outArr.push({ "name": name, amount: price })
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(outArr);
|
||||||
11
lectures/lec5/p3/task4.js
Normal file
11
lectures/lec5/p3/task4.js
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
let items = {
|
||||||
|
'ручка': 20,
|
||||||
|
'альбом': 16,
|
||||||
|
'тетрадь': 10
|
||||||
|
};
|
||||||
|
|
||||||
|
let entries = Object.entries(items);
|
||||||
|
entries.sort((a,b) => Number(a[1])-Number(b[1]));
|
||||||
|
items=Object.fromEntries(entries)
|
||||||
|
|
||||||
|
console.log(items);
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- var tag = 'h'
|
|
||||||
- var i = 1
|
|
||||||
|
|
||||||
#{tag+i} Уровень #{i}
|
|
||||||
- i++
|
|
||||||
#{tag+i} Уровень #{i}
|
|
||||||
- i++
|
|
||||||
#{tag+i} Уровень #{i}
|
|
||||||
- i++
|
|
||||||
#{tag+i} Уровень #{i}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- var products ={"Товар":"Цена","ручка":30.5, "карандаш":50, "альбом":156, "тетрадь":21.5, "ластик":10.2}
|
|
||||||
table
|
|
||||||
each name,price in products
|
|
||||||
tr
|
|
||||||
td #{name}
|
|
||||||
td #{price}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
table
|
|
||||||
- for(var i=0;i<10;i++)
|
|
||||||
tr
|
|
||||||
- for(var j=0;j<10;j++)
|
|
||||||
- if((i + j) % 2 == 0)
|
|
||||||
td.white
|
|
||||||
- else
|
|
||||||
td.black
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
mixin createList(listType, items, tag)
|
|
||||||
- var dispListType = "ul"
|
|
||||||
- if (listType == "ol")
|
|
||||||
- dispListType = "ol"
|
|
||||||
|
|
||||||
#{dispListType}.list
|
|
||||||
each item in items
|
|
||||||
li
|
|
||||||
#{tag} #{item}
|
|
||||||
|
|
||||||
// Вызов миксина
|
|
||||||
+createList('ul', ['Python', 'JavaScript', 'Java'], 'strong')
|
|
||||||
|
|
||||||
|
|
||||||
size=1%
|
|
||||||
section
|
|
||||||
box-shadow: size size (2*size) rgba(0,0,0,0.5)
|
|
||||||
padding:size*2
|
|
||||||
margin:size*4
|
|
||||||
@@ -67,7 +67,7 @@ id > class >tag
|
|||||||
2. применение разных дисплеев
|
2. применение разных дисплеев
|
||||||
3. задача на align и чекпоинты
|
3. задача на align и чекпоинты
|
||||||
|
|
||||||
## 3 Препроцессоры
|
## 4 Препроцессоры
|
||||||
|
|
||||||
### p1 - Методологии вёрстки
|
### p1 - Методологии вёрстки
|
||||||
Лекция в основном про БЭМ (блок__элемент--модификатор), про принцип называния блоков по смыслу того что они делают. Кроме этого обозреваются другие методолгии (SMACSS\ECSS)
|
Лекция в основном про БЭМ (блок__элемент--модификатор), про принцип называния блоков по смыслу того что они делают. Кроме этого обозреваются другие методолгии (SMACSS\ECSS)
|
||||||
@@ -94,9 +94,46 @@ id > class >tag
|
|||||||
Упомянуто несолкьо препроцессоров, фокус на stylus.
|
Упомянуто несолкьо препроцессоров, фокус на stylus.
|
||||||
в целом содержание лекции видно в задачах
|
в целом содержание лекции видно в задачах
|
||||||
хотя в заданиях не затрагивался момент с возвращением значениев из миксинов, но всё равно инетересно
|
хотя в заданиях не затрагивался момент с возвращением значениев из миксинов, но всё равно инетересно
|
||||||
|
так-же оказалось что пробелы при написании операторов вычислений обязательны, это меня удивило конечно
|
||||||
задачи:
|
задачи:
|
||||||
1. переменные
|
1. переменные
|
||||||
2. вложенность
|
2. вложенность
|
||||||
3. опять вложенность и на осознание принципов компиляции и частичных ссылок
|
3. опять вложенность и на осознание принципов компиляции и частичных ссылок
|
||||||
4. миксины и вложенность
|
4. миксины и вложенность
|
||||||
5. миксины и выисление
|
5. миксины и выисление
|
||||||
|
|
||||||
|
## 5 JavaScript
|
||||||
|
|
||||||
|
### p1 - операторы языка
|
||||||
|
Введение в основы JavaScript, синтаксис языка, базовые операторы и конструкции. Рассматриваются способы вывода информации (alert, document.write), работа с переменными и типами данных, шаблонные строки, условные операторы, циклы и функции. Особое внимание уделяется тернарному оператору, различным способам объявления функций (function declaration, function expression, arrow functions) и работе с аргументами функций.
|
||||||
|
|
||||||
|
задачи:
|
||||||
|
1. вывод с помощью alert и document.write
|
||||||
|
2. работа с переменными и шаблонными строками
|
||||||
|
3. условные операторы и проверка чисел
|
||||||
|
4. тернарный оператор
|
||||||
|
5. циклы for и создание HTML-элементов
|
||||||
|
6. объявление функций и работа с arguments
|
||||||
|
7. function expression
|
||||||
|
8. arrow functions
|
||||||
|
|
||||||
|
### p2 - структуры данных
|
||||||
|
Изучение работы с массивами и строками в JavaScript. filter, map, reduce, sort, работа со строками
|
||||||
|
остальные затронутые темы видны из названия задач
|
||||||
|
|
||||||
|
|
||||||
|
задачи:
|
||||||
|
1. извлечение и сумма чисел из строки
|
||||||
|
2. извлечение текста из HTML-тегов
|
||||||
|
3. на понимание работы оператора filter
|
||||||
|
4. фильтрация, преобразование и сортировка чисел из строки
|
||||||
|
|
||||||
|
### p3 - объекты
|
||||||
|
Работа с объектами в JavaScript, их создание, модификация и обработка, перебор свойств объектов, фильтрация и сортировка данных в объектах.
|
||||||
|
остальные затронутые темы видны из названия задач
|
||||||
|
|
||||||
|
задачи:
|
||||||
|
1. фильтрация свойств объекта по типу значений
|
||||||
|
2. обновление объекта с добавлением или увеличением значений
|
||||||
|
3. unford вложенныз свойств
|
||||||
|
4. сортировка объекта по значениям свойств
|
||||||
|
|||||||
Reference in New Issue
Block a user