diff --git a/js-core/homeworks/homework-10/index.html b/js-core/homeworks/homework-10/index.html
new file mode 100644
index 0000000..865ef08
--- /dev/null
+++ b/js-core/homeworks/homework-10/index.html
@@ -0,0 +1,10 @@
+
+
+
+
+ test page
+
+
+
+
+
diff --git a/js-core/homeworks/homework-10/src/main.js b/js-core/homeworks/homework-10/src/main.js
new file mode 100644
index 0000000..6d01425
--- /dev/null
+++ b/js-core/homeworks/homework-10/src/main.js
@@ -0,0 +1,124 @@
+/*
+ *
+ * Задача 0
+ *
+ * Что вернет выражение z(x) ?
+ * Напишите ответ своими словами как вы понимаете
+ * В консоле не смотрите, сначала напишите, после проверьте себя
+ *
+ * */
+
+let y = 5;
+//созадет переменную y, в которую записывает значение 5
+let x = () => {
+ // console.log('We here')
+ return y;
+}
+// создает функцию x, которая возврщает 5
+
+let z = t => {
+ //создает функцию z, с аргументом t, которая перезаписывает y, но снова на 5.
+ let y = 5;
+ // return y
+ // если будетет return, то возьмет отсюда, так как віше не пойдет, найдет y здесь
+ // console.log('We here')
+ t();
+ // вызывает аргумент как функцию, которую потом туда передадим как аргумент
+};
+console.log(y);
+//должно вывести 5, так как обратится к внейшней переменной 11 строка
+z(x); // что вернет
+//вызывает фунцию z, передает аргументом фунцию x, перезаписывает y, но снова на 5
+//и вызывает фунцию x, которая возвращает(В - внимательность!!!!) y. Y возьмет и строки 18
+// поигрался, возврщает undefined, потому что функция ничего не возвращает, а только перезаписывает.
+// а если не обернуть в console.log вызов на 30 строке, то вообщей ничего не вернет, кроме console.log на 27 строке)))
+
+// /*
+// *
+// * TASK 1
+// * Создайте функцию которая будет превращать
+// * передаваемую строку в html тэг
+// *
+// *
+// * */
+
+let $ = function(str) {
+ if(typeof str == 'string'){
+ let result = `<${str}>${str}>`
+ return result
+ }
+};
+
+let createBODY = $('body');
+let createDIV = $('div');
+console.log(createBODY); //
+console.log(createDIV); //
+
+// /*
+// *
+// * TASK 2
+// *
+// * Создайте объект к которому можно будет применить любое число вызовов
+// // obj.method().method().method()
+// ---------------
+// * Передаваемое значение должно возвращаться в виде html тэгов (TASK 1)
+// * Передаваемые аргументы должны быть только в виде строки
+// * */
+
+
+var ezjQuery = {
+ tag: '',
+ add(str, text){
+ let elem = text || ''
+ if(typeof str == 'string'){
+ this.tag += `<${str}>${elem}${str}>`;
+ return this.tag
+ }
+ }
+};
+
+console.log(ezjQuery.add('body')) //
+console.log(ezjQuery.add('div')) //
+console.log(ezjQuery.add('h1')); //
+
+// /*
+// *
+// * TASK 3
+// * Доработйте метод add чтобы на каждом вызове следующий
+// * тэг помещался внутри предыдущего !
+// ---
+// * И добавьте объекту ezjQuery метод render, который будет возвращать
+// * сгенерированную строку
+// -----
+// * Методу add - второй параметр, который будет размещать
+// * информацию внутри тэга
+// *
+// */
+
+// example
+var helloList = ezjQuery
+console.log(helloList.add('body')) //
+console.log(helloList.add('div')) //
+console.log(helloList.add('ul')) //
+console.log(helloList.add('li', 'Hello')) //
+console.log(helloList.render());
+console.log(helloList); //
+// Обратите внимание, что после вызова render создание строки началось сначала
+
+var bodyDiv = ezjQuery
+ .add('body') //
+ .add('div') //
+ .render();
+console.log(bodyDiv); //
+
+// // Для выполнивших все задания
+// // сделайте document.write(helloList) увидите результат :)
+
+// // @SUPER
+// /*
+// * Переименуйте объект ezjQuery в $.
+// * Создание перевого метода должено быть без метода
+// *
+// * $('body').add('li', 'hi').render() // hi
+// *
+// * */
diff --git a/js-core/homeworks/homework-8/src/main.js b/js-core/homeworks/homework-8/src/main.js
index b342210..98dc3af 100644
--- a/js-core/homeworks/homework-8/src/main.js
+++ b/js-core/homeworks/homework-8/src/main.js
@@ -82,7 +82,6 @@ console.log(validBraces('({[]})')); // => returns true
* */
function sum(num) {
- sum.catchNum = 0
if( num>1){
return num + sum(num-1)
}
diff --git a/js-core/homeworks/homework-9/src/main.js b/js-core/homeworks/homework-9/src/main.js
index 06ac582..f79597a 100644
--- a/js-core/homeworks/homework-9/src/main.js
+++ b/js-core/homeworks/homework-9/src/main.js
@@ -129,10 +129,16 @@ let junior = {};
// fn.length == arguments.length
-function addMethod(object, name, fn) {
-
+const addMethod = (object, name, fn) => {
+ object[name] = function() {
+ if (fn.length == arguments.length) {
+ return fn;
+ }
+ };
+ return fn();
}
+
addMethod(junior, 'ok', function() {
console.log('zero arguments');
});