js lec 1 added

This commit is contained in:
2026-01-03 13:40:15 +10:00
parent b0d3fa1ecf
commit b2bc0651ec
18 changed files with 150 additions and 58 deletions

View File

@@ -0,0 +1,2 @@
alert("Hello, world!");
document.write("Hello, world!");

View File

@@ -0,0 +1,6 @@
let _name = "Алина";
let email = "alina@test.ru";
let message = `Доброго времени суток, ${_name}! Мы отправили Вам приглашение на почту ${email}.`;
document.write(`<h3>${message}</h3>`);

View 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}`);
}

View File

@@ -0,0 +1 @@
let result = n > 0 ? 1 / n : n < 0 ? 1 / n ** 2 : 0;

10
lectures/lec5/p1/task5.js Normal file
View 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);

View File

@@ -0,0 +1,3 @@
function sum() {
return arguments.reduce((total, num) => total + num, 0);
}

View File

@@ -0,0 +1,3 @@
sum = function(...args) {
return args.filter(num => num % 2 !== 0).reduce((acc, num) => acc + num, 0);
}

View File

@@ -0,0 +1,3 @@
sum = (...args) => {
return args.filter(num => num % 2 !== 0).reduce((acc, num) => acc + num, 0);
}

View 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);
}

View File

@@ -0,0 +1,3 @@
function extractText(html){
return html.split("<p>").filter(substr => substr.includes("</p>")).map(substr = substr.split("</p>")[0]);
}

View 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

View 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
View 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
View 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
View 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
View 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);

View File

@@ -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

View File

@@ -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. сортировка объекта по значениям свойств