Skip to content
garevna edited this page Jan 20, 2019 · 17 revisions

💼 Homework

Объявить функцию-конструктор User

⚠️ Конструктор должен принимать аргументы, описывающие юзера

📋 Статические свойства и методы конструктора

У конструктора должны быть следующие ⚠️ не наследуемые экземплярами свойства и методы:
1️⃣ avatars

массив:

[
     "https://pre00.deviantart.net/50f9/th/pre/i/2011/217/e/8/pikachu_2_by_nostalgiaattack-d45jd3i.png",
     "https://cdn.diversityavatars.com/wp-content/uploads/2018/01/Vector-Smart-Object-5.png",
     "https://cdn4.iconfinder.com/data/icons/user-avatar-flat-icons/512/User_Avatar-31-512.png",
     "http://icons.iconarchive.com/icons/hopstarter/face-avatars/256/Male-Face-L3-icon.png",
     "https://findicons.com/files/icons/1072/face_avatars/300/i05.png",
     "http://www.iconarchive.com/download/i51043/hopstarter/halloween-avatars/Gomez.ico",
     "http://icons.iconarchive.com/icons/hopstarter/halloween-avatars/256/Zombie-2-icon.png",
     "https://vignette.wikia.nocookie.net/yogscast/images/8/8a/Avatar_Turps_2015.jpg"
]
2️⃣ admin

объект следующей структуры:

{
    photoURL: "https://i.pinimg.com/originals/3d/47/4f/3d474f82ff71595e8081f9a120892ae8.gif",
    name: "admin"
}
Админ пишет непосредственно в messageBox
3️⃣ getAvatar

метод, возвращающий извлеченный из массива avatars элемент

return this.avatars.shift ()

📋 Собственные свойства экземпляров

1️⃣ name ( имя пользователя )
2️⃣ email
3️⃣ photoURL ( URL фотографии пользователя )
  • Конструктор должен иметь дефолтные значения для всех аргументов
  • дефолтное значение URL фотографии пользователя должно быть результатом работы статического метода getAvatar

📋 Унаследованные свойства экземпляров

5️⃣ неперечислимое неизменяемое свойство messageBox - элемент DOM
  • messageBox - это контейнер, куда будут выводиться сообщения всех пользователей и admin
  • при выводе сообщения пользователя в messageBox должны отображаться его аватар и имя
4️⃣ унаследованные методы write и read

запись осуществляется в messageBox, чтение - из messageBox

☕ Что примерно должно получиться ( не смотрите код сразу, попробуйте сами )


▶️ После того, как конструктор будет объявлен, выполните код в консоли:

var users = []
users.push ( new User ( "Иван" ) )
users.push ( new User ( 'Alex', "alex@gmail.com" ) )
users.push ( new User ( 'Bob', "bob777@gmail.com" ) )
users.push ( new User ( 'Dima', "dima888@gmail.com" ) )
users.push ( new User ( 'Fima', "fima999@gmail.com" ) )

var k = 1
users.forEach ( 
    function ( user ) {
        setTimeout ( 
            function () {
                user.write ( `Hello, I'm ${user.name}` )
            }, 3000 * k++
        )
    }
)

🔵 Короче, юзеры пишут в messageBox из консоли:

users[index].write ( text )

а вот админ - непосредственно вводит текст в messageBox

( т.е. при вводе в messageBox пишущий сообщение идентифицируется как админ, выводится его аватар и имя )

© Irina H.Fylyppova 2018
Использование данных материалов или любой их части коммерческими школами ( курсами ) является нарушением авторских прав


Новая версия


1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19

Занятие 1

⤵️

Занятие 2

⤴️ ⤵️

Занятие 3

⤴️ ⤵️

Занятие 4

⤴️ ⤵️

Занятие 5

⤴️ ⤵️

Занятие 6

⤴️ ⤵️

Занятие 7

⤴️ ⤵️

Занятие 8

⤴️ ⤵️

Занятие 9

⤴️ ⤵️

Занятие 10

⤴️ ⤵️

Занятие 11

⤴️ ⤵️

Занятие 12

⤴️ ⤵️

Занятие 13

⤴️ ⤵️

Занятие 14

⤴️ ⤵️

Занятие 15

⤴️ ⤵️

Занятие 16

⤴️ ⤵️

Занятие 17

⤴️ ⤵️

Занятие 18

⤴️ ⤵️

Занятие 19

⤴️ ⤵️

⤴️

ico20 Дополнительно
dir-20 Справочная инфо

Clone this wiki locally