Skip to content

Commit dfb6b4e

Browse files
homework-11
1 parent 0ce5317 commit dfb6b4e

File tree

3 files changed

+105
-36
lines changed

3 files changed

+105
-36
lines changed

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

Lines changed: 46 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -42,17 +42,17 @@ z(x); // что вернет
4242
// *
4343
// * */
4444

45-
let $ = function(str) {
46-
if(typeof str == 'string'){
47-
let result = `<${str}></${str}>`
48-
return result
49-
}
50-
};
45+
// let $ = function(str) {
46+
// if(typeof str == 'string'){
47+
// let result = `<${str}></${str}>`
48+
// return result
49+
// }
50+
// };
5151

52-
let createBODY = $('body');
53-
let createDIV = $('div');
54-
console.log(createBODY); // <body></body>
55-
console.log(createDIV); // <div></div>
52+
// let createBODY = $('body');
53+
// let createDIV = $('div');
54+
// console.log(createBODY); // <body></body>
55+
// console.log(createDIV); // <div></div>
5656

5757
// /*
5858
// *
@@ -68,18 +68,28 @@ console.log(createDIV); // <div></div>
6868

6969
var ezjQuery = {
7070
tag: '',
71+
state: [],
7172
add(str, text){
7273
let elem = text || ''
7374
if(typeof str == 'string'){
74-
this.tag += `<${str}>${elem}</${str}>`;
75-
return this.tag
75+
this.tag += `<${str}>${elem}</${str}>`
76+
this.state.push(str);
77+
return this
7678
}
77-
}
79+
},
80+
// render(){
81+
// let elem = this.text || ''
82+
// let result = this.tag += `<${this.state[0]}>${elem}</${this.state[0]}>`
83+
// // this.tag = ''
84+
// // console.log(this.tag)
85+
// return result
86+
// }
7887
};
7988

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>
89+
// ezjQuery
90+
// .add('body') // <body></body>
91+
// .add('div') // <body></body><div></div>
92+
// .add('h1'); // <body></body><div></div><h1></h1>
8393

8494
// /*
8595
// *
@@ -97,28 +107,28 @@ console.log(ezjQuery.add('h1')); // <body></body><div></div><h1></h1>
97107

98108
// example
99109
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());
110+
.add('body') // <body></body>
111+
.add('div') // <body><div></div></body>
112+
.add('ul') // <body><div><ul></ul></div></body>
113+
.add('li', 'Hello') //<body><div><ul><li>Hello</li></ul></div></body>
114+
// .render();
105115
console.log(helloList); // <body><div><ul><li>Hello</li></ul></div></body>
106116
// Обратите внимание, что после вызова render создание строки началось сначала
107117

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>
118+
// var bodyDiv = ezjQuery
119+
// .add('body') //<body></body>
120+
// .add('div') //<body><div></div></body>
121+
// .render();
122+
// console.log(bodyDiv); //<body><div></div></body>
113123

114-
// // Для выполнивших все задания
115-
// // сделайте document.write(helloList) увидите результат :)
124+
// Для выполнивших все задания
125+
// сделайте document.write(helloList) увидите результат :)
116126

117-
// // @SUPER
118-
// /*
119-
// * Переименуйте объект ezjQuery в $.
120-
// * Создание перевого метода должено быть без метода
121-
// *
122-
// * $('body').add('li', 'hi').render() // <body><li>hi</li></body>
123-
// *
124-
// * */
127+
// @SUPER
128+
/*
129+
* Переименуйте объект ezjQuery в $.
130+
* Создание перевого метода должено быть без метода
131+
*
132+
* $('body').add('li', 'hi').render() // <body><li>hi</li></body>
133+
*
134+
* */
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: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/*
2+
*
3+
* Сделайте 4 объекта - не усложняйте, просто наследование
4+
* через __proto__
5+
- Пользователь
6+
- Верифицированный пользователь(админ)
7+
- Гость
8+
- База данных
9+
- База хранит информацию о пользователях
10+
- Пользователи знают мыло админа
11+
- админ знает пароль от базы данных
12+
- Гости могут зарегистрироваться в базе данных
13+
*
14+
* */
15+
let user = {
16+
name: 'userName',
17+
}
18+
let admin = {
19+
adminPass:'adminPass',
20+
eMail: 'adminEmail'
21+
}
22+
let database = {
23+
newUser:{},
24+
password: 'databasePassword'
25+
}
26+
let guest = {
27+
28+
}
29+
30+
database.registerGuest = function() {
31+
let newUserName = prompt('введите имя');
32+
let newUserPass = prompt('придумайте пароль')
33+
database.newUser.name = newUserName;
34+
database.newUser.pass = newUserPass
35+
console.log(database.newUser)
36+
}
37+
38+
guest.__proto__.registerGuest = database.registerGuest
39+
database.__proto__ = user
40+
user.__proto__.eMail = admin.eMail
41+
admin.__proto__.password = database.password;
42+
console.log(`admin password for databae '${admin.password}'`)
43+
console.log(`admin mail - '${user.eMail}'`)
44+
console.log(guest.registerGuest())
45+
console.log(database)
46+
47+
48+
49+

0 commit comments

Comments
 (0)