Skip to content

Commit 0ce5317

Browse files
homework_10
1 parent 9bd2356 commit 0ce5317

File tree

3 files changed

+134
-1
lines changed

3 files changed

+134
-1
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<!DOCTYPE html>
2+
<html lang="ru">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>test page</title>
6+
</head>
7+
<body>
8+
<script src="src/main.js"></script>
9+
</body>
10+
</html>
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
/*
2+
*
3+
* Задача 0
4+
*
5+
* Что вернет выражение z(x) ?
6+
* Напишите ответ своими словами как вы понимаете
7+
* В консоле не смотрите, сначала напишите, после проверьте себя
8+
*
9+
* */
10+
11+
let y = 5;
12+
//созадет переменную y, в которую записывает значение 5
13+
let x = () => {
14+
// console.log('We here')
15+
return y;
16+
}
17+
// создает функцию x, которая возврщает 5
18+
19+
let z = t => {
20+
//создает функцию z, с аргументом t, которая перезаписывает y, но снова на 5.
21+
let y = 5;
22+
// return y
23+
// если будетет return, то возьмет отсюда, так как віше не пойдет, найдет y здесь
24+
// console.log('We here')
25+
t();
26+
// вызывает аргумент как функцию, которую потом туда передадим как аргумент
27+
};
28+
console.log(y);
29+
//должно вывести 5, так как обратится к внейшней переменной 11 строка
30+
z(x); // что вернет
31+
//вызывает фунцию z, передает аргументом фунцию x, перезаписывает y, но снова на 5
32+
//и вызывает фунцию x, которая возвращает(В - внимательность!!!!) y. Y возьмет и строки 18
33+
// поигрался, возврщает undefined, потому что функция ничего не возвращает, а только перезаписывает.
34+
// а если не обернуть в console.log вызов на 30 строке, то вообщей ничего не вернет, кроме console.log на 27 строке)))
35+
36+
// /*
37+
// *
38+
// * TASK 1
39+
// * Создайте функцию которая будет превращать
40+
// * передаваемую строку в html тэг
41+
// *
42+
// *
43+
// * */
44+
45+
let $ = function(str) {
46+
if(typeof str == 'string'){
47+
let result = `<${str}></${str}>`
48+
return result
49+
}
50+
};
51+
52+
let createBODY = $('body');
53+
let createDIV = $('div');
54+
console.log(createBODY); // <body></body>
55+
console.log(createDIV); // <div></div>
56+
57+
// /*
58+
// *
59+
// * TASK 2
60+
// *
61+
// * Создайте объект к которому можно будет применить любое число вызовов
62+
// // obj.method().method().method()
63+
// ---------------
64+
// * Передаваемое значение должно возвращаться в виде html тэгов (TASK 1)
65+
// * Передаваемые аргументы должны быть только в виде строки
66+
// * */
67+
68+
69+
var ezjQuery = {
70+
tag: '',
71+
add(str, text){
72+
let elem = text || ''
73+
if(typeof str == 'string'){
74+
this.tag += `<${str}>${elem}</${str}>`;
75+
return this.tag
76+
}
77+
}
78+
};
79+
80+
console.log(ezjQuery.add('body')) // <body></body>
81+
console.log(ezjQuery.add('div')) // <body></body><div></div>
82+
console.log(ezjQuery.add('h1')); // <body></body><div></div><h1></h1>
83+
84+
// /*
85+
// *
86+
// * TASK 3
87+
// * Доработйте метод add чтобы на каждом вызове следующий
88+
// * тэг помещался внутри предыдущего !
89+
// ---
90+
// * И добавьте объекту ezjQuery метод render, который будет возвращать
91+
// * сгенерированную строку
92+
// -----
93+
// * Методу add - второй параметр, который будет размещать
94+
// * информацию внутри тэга
95+
// *
96+
// */
97+
98+
// example
99+
var helloList = ezjQuery
100+
console.log(helloList.add('body')) // <body></body>
101+
console.log(helloList.add('div')) // <body><div></div></body>
102+
console.log(helloList.add('ul')) // <body><div><ul></ul></div></body>
103+
console.log(helloList.add('li', 'Hello')) //<body><div><ul><li>Hello</li></ul></div></body>
104+
console.log(helloList.render());
105+
console.log(helloList); // <body><div><ul><li>Hello</li></ul></div></body>
106+
// Обратите внимание, что после вызова render создание строки началось сначала
107+
108+
var bodyDiv = ezjQuery
109+
.add('body') //<body></body>
110+
.add('div') //<body><div></div></body>
111+
.render();
112+
console.log(bodyDiv); //<body><div></div></body>
113+
114+
// // Для выполнивших все задания
115+
// // сделайте document.write(helloList) увидите результат :)
116+
117+
// // @SUPER
118+
// /*
119+
// * Переименуйте объект ezjQuery в $.
120+
// * Создание перевого метода должено быть без метода
121+
// *
122+
// * $('body').add('li', 'hi').render() // <body><li>hi</li></body>
123+
// *
124+
// * */

js-core/homeworks/homework-8/src/main.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ console.log(validBraces('({[]})')); // => returns true
8282
* */
8383

8484
function sum(num) {
85-
sum.catchNum = 0
8685
if( num>1){
8786
return num + sum(num-1)
8887
}

0 commit comments

Comments
 (0)