Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions js-core/homeworks/homework-8/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Homework-8</title>

</head>
<body>

<script src="src/main.js"></script>
</body>
</html>
67 changes: 67 additions & 0 deletions js-core/homeworks/homework-8/src/main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
/*
*
* TASK 1
*
* Создайте функцию которая будет запоминать переданные
* ей аргументы, и прибавлять их в строку
* и отображать в консоле всю строку
*
*
* */

function solution1(someString) {
let str = '';
return function(val){
return str += `${val} `;
}
}

let stringBuffer = solution1();

console.log(stringBuffer('Замыкания')); // Замыкания
console.log(stringBuffer('Использовать нужно')); // Замыкания Использовать нужно
console.log(stringBuffer('Привет')); // Замыкания Использовать нужно Привет вызываем много раз

/*
*
* TASK 2
* Напишите функцию которая принимает в качестве аргумента строку
* из скобочек и посчитайте, * что все скобочки закрываются корректно
*
* */

function validBraces(str) {
let brackets = []
}

console.log(validBraces('(){}[]')); // => returns true
console.log(validBraces('(}')); // => returns false
console.log(validBraces('[(])')); // => returns false
console.log(validBraces('([{}])')); // => returns true
console.log(validBraces('({[]})')); // => returns true

// @SUPER

/*
*
* Напишите функцию которая будет принимать одно число и выводить сумму
* всех натуральных чисел
* sum(5) // 5+4+3+2+1
*
* Вычисления должны кешироваться, если в функцию попадает закешированное
* значение, в консоле должно отобразиться
* Значение взято из кэша
*
* Нельзя использовать внешние значения/переменные/функции
*
* */

function sum(num) {

}

sum(5); // 15 Значение кешировано
sum(5); // 15 Значение взято из кэш

sum(6); // 21 Кешировано
sum(6); // 21 Значение взято из кэша