Сделать функцию extend
, которая добавляет один ассоциативный массив во второй:
var person = {name: "Иван", age: 17};
var extendedPerson = extend(person, {surname: "Иванов", fatherName: "Иванович"});
console.log(extendedPerson); //{name: "Иван", age: 17, surname: "Иванов", fatherName: "Иванович"}
Сделайте функцию copy
, которая будет копировать ключи и значения объекта в новый объект.
Копирование должно проверять типы данных, и делать копии вложенных массивов. Вложенные объекты не копируются (просто присваиваются)
Скреативьте функцию menuBuilder
, которая из структуры
var menu = [{text: "google", href: "http://google.com"},
{text: "ebay", href: "http://ebay.com"},
{text: "ya", href: "http://ya.ru"},
];
создает меню используя ul
, li
, a
в определенном контейнере. id
контейнера передается в качестве параметра:
<body>
...
<div id='menuContainer'>
</div>
...
</body>
menuBuilder("menuContainer", menu); //построить меню в элементе с id "menuContainer".
Вы можете создавать элементы любым удобным способом (строка, DOM, jQuery)
Напилите функцию, которая создает галерею картинок в определенном контейнере. В качестве параметра передавайте id
контейнера и массив со строками ссылок на картинки:
gallery("galleryContainer",["https://static33.cmtt.ru/paper-media/fd/92/e5/0479e08f8e852d.png", "http://s00.yaplakal.com/pics/pics_original/1/9/4/3736491.jpg"])
В идеале у вас должна быть стрелки вперед и назад, по клику на которые происходит смена картинки (клик на самой картинке - тоже удобно). Эффекты добавить по вкусу.
Функция создает таблицу умножения в переданном id
контейнере, размером NxN, в которой прямоугольник слева вверх от курсора мыши (включая курсор) выделен другим цветом и ячейки
пронумерованы по порядку (слева направо, сверху вниз). Желательно иметь заголовки таблицы с числами (1..N) другим стилем. Заголовки не входят в подсвеченный
прямоугольник.