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. применение разных дисплеев
|
||||
3. задача на align и чекпоинты
|
||||
|
||||
## 3 Препроцессоры
|
||||
## 4 Препроцессоры
|
||||
|
||||
### p1 - Методологии вёрстки
|
||||
Лекция в основном про БЭМ (блок__элемент--модификатор), про принцип называния блоков по смыслу того что они делают. Кроме этого обозреваются другие методолгии (SMACSS\ECSS)
|
||||
@@ -94,9 +94,46 @@ id > class >tag
|
||||
Упомянуто несолкьо препроцессоров, фокус на stylus.
|
||||
в целом содержание лекции видно в задачах
|
||||
хотя в заданиях не затрагивался момент с возвращением значениев из миксинов, но всё равно инетересно
|
||||
так-же оказалось что пробелы при написании операторов вычислений обязательны, это меня удивило конечно
|
||||
задачи:
|
||||
1. переменные
|
||||
2. вложенность
|
||||
3. опять вложенность и на осознание принципов компиляции и частичных ссылок
|
||||
4. миксины и вложенность
|
||||
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