Skip to content

Commit 51220ac

Browse files
homework_10
1 parent eae0b04 commit 51220ac

File tree

2 files changed

+92
-0
lines changed

2 files changed

+92
-0
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>Home work 10</title>
6+
</head>
7+
<body>
8+
9+
<script src="src/main.js"></script>
10+
</body>
11+
</html>
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
//Task0
2+
let y = 5; //объявлена глобальная переменная 'y' со значением 5
3+
let x = () => y; //объявлена стрелочная функция 'x' без аргументов которая возвращает 'y', тоесть 5
4+
5+
let z = t => { //объявлена стрелочная функция 'z' с аргументом 't'
6+
let y = 5; //oбъявлена локальная переменная 'y' со значением 5
7+
t(); // 't' это колбек функция которую вызвали
8+
};
9+
console.log(y); //выводит в консоль глобальную переменную 'y' объявленую в 2 строке, соответственно выведет 5
10+
11+
z(x); // что вернет //вызываем функцию 'z' с параметром 'x' который является функцией и возвращает глобальную переменную 'y'. Сама функция ничего не возвращает. Результатом будет undefined
12+
13+
14+
//Task1
15+
let $ = function(str) {
16+
return `<${str}></${str}>`;
17+
};
18+
19+
let createBODY = $('body');
20+
let createDIV = $('div');
21+
console.log('Task1 --->', createBODY); // <body></body>
22+
console.log('Task1 --->', createDIV); // <div></div>
23+
24+
25+
26+
// //Task2
27+
// let ezjQuery = {
28+
// strTag: '',
29+
// add(str) {
30+
// return this.strTag = this.strTag + `<${str}></${str}>`;
31+
// }
32+
// };
33+
34+
35+
// console.log('Task2 --->', ezjQuery.add('body')); // <body></body>
36+
// console.log('Task2 --->', ezjQuery.add('div')); // <body></body><div></div>
37+
// console.log('Task2 --->', ezjQuery.add('h1')); // <body></body><div></div><h1></h1>
38+
39+
40+
41+
//Task3
42+
let ezjQuery = {
43+
//strTag: '',
44+
tags: [],
45+
add(str, text) {
46+
this.tags.push({tagName: str, text: text || ''});
47+
return this;
48+
//return this.strTag = this.strTag + `<${str}></${str}>`;
49+
},
50+
render() {
51+
let strTag = '';
52+
for(let i = 0; i < this.tags.length; i++) {
53+
if(this.tags[i].text == '') {
54+
strTag += `<${this.tags[i].tagName}>`;
55+
} else {
56+
strTag += `<${this.tags[i].tagName}>${this.tags[i].text}`;
57+
};
58+
};
59+
for(let i = this.tags.length - 1; i >= 0; i--) {
60+
strTag += `</${this.tags[i].tagName}>`;
61+
};
62+
this.tags = [];
63+
return strTag;
64+
}
65+
};
66+
67+
let helloList = ezjQuery
68+
.add('body') // <body></body>
69+
.add('div') // <body><div></div></body>
70+
.add('ul') // <body><div><ul></ul></div></body>
71+
.add('li', 'Hello') //<body><div><ul><li>Hello</li></ul></div></body>
72+
.render();
73+
console.log('Task3 --->', helloList); // <body><div><ul><li>Hello</li></ul></div></body>
74+
document.write(helloList)
75+
// Обратите внимание, что после вызова render создание строки началось сначала
76+
77+
let bodyDiv = ezjQuery
78+
.add('body') //<body></body>
79+
.add('div') //<body><div></div></body>
80+
.render();
81+
console.log('Task3 --->', bodyDiv); //<body><div></div></body>

0 commit comments

Comments
 (0)