Привет!
Напиши функцию bind, которая позволяет привязать контекст (значение this) к функции:
Ответ:
window.x = 1;
var ctx = { x: 2 };
function testThis(a) { console.log("x=" + this.x + ", a=" + a); }
console.log(testThis(100)); // x=1, a=100
var boundFunction = bind(testThis, ctx);
console.log(boundFunction(100)); // x=2, a= 100
Напиши функцию bind, которая позволяет привязать контекст (значение this) к функции:
Ответ:
var ctx = { x: 2 };
function testThis(a) { console.log("x=" + this.x + ", a=" + a); }
console.log(testThis(100)); // x=1, a=100
var boundFunction = bind(testThis, ctx);
console.log(boundFunction(100)); // x=2, a= 100
Привет! Примерно через две недели планируем провести прямой эфир с ребятами из CodeRewiev. От вас зависит, какую тему мы выберем.
Темы:
Что нужно знать, что бы пройти на джуна? - 34
👍👍👍👍👍👍👍👍 71%
Что влияет на твою зарплату? - 3
👍👍 6%
Hard или soft? Какие скилы важнее - 4
👍👍 8%
Карьера за 3-5 лет - возможно ли? - 4
👍👍 8%
Горизонтальная миграция - есть ли смысл менять направление разработки? - 3
👍👍 6%
👥 48 человек уже проголосовало.
Темы:
Что нужно знать, что бы пройти на джуна? - 34
👍👍👍👍👍👍👍👍 71%
Что влияет на твою зарплату? - 3
👍👍 6%
Hard или soft? Какие скилы важнее - 4
👍👍 8%
Карьера за 3-5 лет - возможно ли? - 4
👍👍 8%
Горизонтальная миграция - есть ли смысл менять направление разработки? - 3
👍👍 6%
👥 48 человек уже проголосовало.
АААААААААлоха! 28 июня мы с ребятами из CodeReview проведем прямой эфир на одну из тем, которую вы выберете на опросе в посте - https://yangx.top/dh_jun/451
Сможете задать свои вопросы.)
Сможете задать свои вопросы.)
Напиши функцию partial(fn, a1, a2, ....), которая позволяет зафиксировать один или несколько аргументов функции. Пример:
function add(a, b) { return a + b; }
function mult(a, b, c, d) { return a * b * c * d; }
var add5 = partial(add, 5); // Мы получили функцию с 1 аргументом, которая прибавляет к любому числу 5
console.log(add5(2)); // 7
console.log(add5(10)); // 15
console.log(add5(8)); // 13
var mult23 = partial(mult, 2, 3); // мы зафиксировали первые 2 аргумента mult() как 2 и 3
console.log(mult23(4, 5)); // 2*3*4*5 = 120
console.log(mult23(1, 1)); // 2*3*1*1 = 6
function add(a, b) { return a + b; }
function mult(a, b, c, d) { return a * b * c * d; }
var add5 = partial(add, 5); // Мы получили функцию с 1 аргументом, которая прибавляет к любому числу 5
console.log(add5(2)); // 7
console.log(add5(10)); // 15
console.log(add5(8)); // 13
var mult23 = partial(mult, 2, 3); // мы зафиксировали первые 2 аргумента mult() как 2 и 3
console.log(mult23(4, 5)); // 2*3*4*5 = 120
console.log(mult23(1, 1)); // 2*3*1*1 = 6
Напишите программу, которая будет задавать вопросы пользователю и затем выведет ответы на странице. Для решения используйте функцию prompt и цикл for.
Решение
let answers = [];
questions = [
'Как вас зовут?',
'Кто вы по профессии?',
'Где вы работаете?'
];
for(let i = 0; i < questions.length; i++){
answers[i] = prompt(questions[i]);
}
document.write(answers);
Решение
questions = [
'Как вас зовут?',
'Кто вы по профессии?',
'Где вы работаете?'
];
for(let i = 0; i < questions.length; i++){
answers[i] = prompt(questions[i]);
}
document.write(answers);
Напишите функцию JavaScript для преобразования суммы в монеты. Перейти к редактору
Пример функции : количество токоинов (46, [25, 10, 5, 2, 1])
Здесь 46 сумма. и 25, 10, 5, 2, 1 - монеты.
Выход : 25, 10, 10, 1
Решение:
function amountTocoins(amount, coins)
{
if (amount === 0)
{
return [];
}
else
{
if (amount >= coins[0])
{
left = (amount - coins[0]);
return [coins[0]].concat( amountTocoins(left, coins) );
}
else
{
coins.shift();
return amountTocoins(amount, coins);
}
}
}
console.log(amountTocoins(46, [25, 10, 5, 2,1]));
Пример функции : количество токоинов (46, [25, 10, 5, 2, 1])
Здесь 46 сумма. и 25, 10, 5, 2, 1 - монеты.
Выход : 25, 10, 10, 1
Решение:
{
if (amount === 0)
{
return [];
}
else
{
if (amount >= coins[0])
{
left = (amount - coins[0]);
return [coins[0]].concat( amountTocoins(left, coins) );
}
else
{
coins.shift();
return amountTocoins(amount, coins);
}
}
}
console.log(amountTocoins(46, [25, 10, 5, 2,1]));
Хай! Твоя задача на сегодня:
Написать скрипт, который считает количество дней жизни сайта
Решение
<script type="text/javascript">
function lifeSite() {
var start = new Date('March 27, 2010'); // Дата создания сайта
var end = new Date();
var life = Math.round((end.getTime() - start.getTime()) / (1000 * 60 * 60 * 24));
var suffix = new Array("день", "дня", "дней");
var keys = [2, 0, 1, 1, 1, 2];
var mod = life % 100;
var suffix_key = mod > 4 && mod < 20 ? 2 : keys[Math.min(mod%10, 5)];
document.getElementById("life_site").innerHTML = life + " " + suffix[suffix_key];
}
</script>
Написать скрипт, который считает количество дней жизни сайта
Решение
function lifeSite() {
var start = new Date('March 27, 2010'); // Дата создания сайта
var end = new Date();
var life = Math.round((end.getTime() - start.getTime()) / (1000 * 60 * 60 * 24));
var suffix = new Array("день", "дня", "дней");
var keys = [2, 0, 1, 1, 1, 2];
var mod = life % 100;
var suffix_key = mod > 4 && mod < 20 ? 2 : keys[Math.min(mod%10, 5)];
document.getElementById("life_site").innerHTML = life + " " + suffix[suffix_key];
}
</script>
Хай! Напишите программу на JavaScript для создания новой строки из заданной строки, удалив первый и последний символы строки, если первый или последний символ - «P». Вернуть исходную строку, если условие не выполняется.
Решение:
function nop(str) {
let start_pos = 0;
let end_pos = str.length;
if (str.length > 0 && str.charAt(0) =='P')
{
start_pos = 1;
}
if (str.length > 1 && str.charAt(str.length - 1) =='P')
{
end_pos--;
}
return str.substring(start_pos, end_pos);
}
console.log(nop("PythonP"));
console.log(nop("Python"));
console.log(nop("JavaScript"));
Решение:
let start_pos = 0;
let end_pos = str.length;
if (str.length > 0 && str.charAt(0) =='P')
{
start_pos = 1;
}
if (str.length > 1 && str.charAt(str.length - 1) =='P')
{
end_pos--;
}
return str.substring(start_pos, end_pos);
}
console.log(nop("PythonP"));
console.log(nop("Python"));
console.log(nop("JavaScript"));
Напишите программу на JavaScript, чтобы вычислить сумму массива целых чисел.
Пример: var array = [1, 2, 3, 4, 5, 6]
Ожидаемый результат: 21
Решение:
var array_sum = function(my_array) {
if (my_array.length === 1) {
return my_array[0];
}
else {
return my_array.pop() + array_sum(my_array);
}
};
console.log(array_sum([1,2,3,4,5,6]));
Пример: var array = [1, 2, 3, 4, 5, 6]
Ожидаемый результат: 21
Решение:
if (my_array.length === 1) {
return my_array[0];
}
else {
return my_array.pop() + array_sum(my_array);
}
};
console.log(array_sum([1,2,3,4,5,6]));
Хай! Напишите программу, которая будет задавать вопросы пользователю и затем выведет ответы на странице. Для решения используйте функцию prompt и цикл for.
Решение:
let answers = [];
questions = [
'Как вас зовут?',
'Кто вы по профессии?',
'Где вы работаете?'
];
for(let i = 0; i < questions.length; i++){
answers[i] = prompt(questions[i]);
}
document.write(answers);
Решение:
questions = [
'Как вас зовут?',
'Кто вы по профессии?',
'Где вы работаете?'
];
for(let i = 0; i < questions.length; i++){
answers[i] = prompt(questions[i]);
}
document.write(answers);
Привет! Сегодня решим задачу: Известен рост трёх человек. Определить, одинаков ли их рост.
Решение:
<html>
<head>
<script language="Javascript">
var a=parseInt(prompt("Введите рост первого человека",""))
var b=parseInt(prompt("Введите рост второго человека",""))
var c=parseInt(prompt("Введите рост третьего человека",""))
if ((a=b) && (b==c) && (a==c))
alert("Рост этих людей одинаков")
else {alert("Рост этих людей различен")}
</script>
</head>
</html>
Решение:
<head>
<script language="Javascript">
var a=parseInt(prompt("Введите рост первого человека",""))
var b=parseInt(prompt("Введите рост второго человека",""))
var c=parseInt(prompt("Введите рост третьего человека",""))
if ((a=b) && (b==c) && (a==c))
alert("Рост этих людей одинаков")
else {alert("Рост этих людей различен")}
</script>
</head>
</html>
Хай! Напишите функцию JavaScript, которая возвращает переданную строку с буквами в алфавитном порядке.
Пример строки: 'alphabetical'. Ожидаемый результат: 'aaabcehillpt'
function alphabet_order(str) {
// Ваш код
}
document.writeln(alphabet_order("alphabetical"));
Решение:
<script>
function alphabet_order(str) {
return str.split('').sort().join('');
}
document.writeln(alphabet_order("alphabetical")); // "aaabcehillpt"
</script>
Пример строки: 'alphabetical'. Ожидаемый результат: 'aaabcehillpt'
function alphabet_order(str) {
// Ваш код
}
document.writeln(alphabet_order("alphabetical"));
Решение:
function alphabet_order(str) {
return str.split('').sort().join('');
}
document.writeln(alphabet_order("alphabetical")); // "aaabcehillpt"
</script>
Привет! Сегодня твоя задача - ответить на вопросы:
1. Что такое каррирование (currying)?
2. Что такое чистая функция?
3. В чем разница между let и var?
Ответы на вопросы:
1. Каррирование — это процесс преобразования функции с несколькими параметрами в несколько функций с одним параметром. Данный процесс назван в четь математика Хаскелла Карри. Каррирование превращает одну n-арную функцию в несколько унарных функций (уменьшает арность функции)
2. Чистая функция — это функция, возвращаемое значение которой зависит только от передаваемых аргументов, без побочных эффектов. Проще говоря, если вы вызывается функцию n раз с n аргументами, и функция всегда возвращает одно и тоже значение, значит, она является чистой
3. Основные отличия состоят в следующем:
var:
- Доступно с момента появления JavaScript
- Имеет глобальную или функциональную область видимости
- Переменные поднимаются в начало области видимости
let:
- Представлено в ES6
- Имеет блочную область видимости
- Переменные также поднимаются, но не инициализируются (поднимается только объявление, но не присвоение значения)
1. Что такое каррирование (currying)?
2. Что такое чистая функция?
3. В чем разница между let и var?
Ответы на вопросы:
2. Чистая функция — это функция, возвращаемое значение которой зависит только от передаваемых аргументов, без побочных эффектов. Проще говоря, если вы вызывается функцию n раз с n аргументами, и функция всегда возвращает одно и тоже значение, значит, она является чистой
3. Основные отличия состоят в следующем:
var:
- Доступно с момента появления JavaScript
- Имеет глобальную или функциональную область видимости
- Переменные поднимаются в начало области видимости
let:
- Представлено в ES6
- Имеет блочную область видимости
- Переменные также поднимаются, но не инициализируются (поднимается только объявление, но не присвоение значения)
Привет! Для тебя есть задача!
Возвращает массив, состоящий из наибольших чисел каждого вложенного массива. Для простоты предоставленный массив будет содержать ровно 4 вложенных массива.
[1,2,3,4]
[5,18,0,12]
[3,5,12,5]
[28,9,2,34]
Should return => [4,18,12,34]
Решение:
Мы можем использовать метод Math.max(…spreadOperator) с методом array.map () для циклического перебора каждого элемента во внешнем массиве, возврата максимального значения из вложенного массива и прямого возврата этого вновь созданного массива.
function largestOfFour(arr) {
return arr.map (subArr => Math.max(...subArr));
}
Возвращает массив, состоящий из наибольших чисел каждого вложенного массива. Для простоты предоставленный массив будет содержать ровно 4 вложенных массива.
[1,2,3,4]
[5,18,0,12]
[3,5,12,5]
[28,9,2,34]
Should return => [4,18,12,34]
Решение:
function largestOfFour(arr) {
return
}
Forwarded from Dev House Jun Front
Всем привет! Хочу напомнить, что сегодня в 19.00 мы с Яном Тишко устраиваем большой лайв на ютубе.)
Не знаешь кто он такой? Вот наш пост - https://yangx.top/dh_jun/488
А это ссылка на него в поиске - https://yandex.ru/search/?text=%D1%8F%D0%BD+%D1%82%D0%B8%D1%88%D0%BA%D0%BE&lr=12
Ссылка - https://www.youtube.com/watch?v=mF11u1CSAHw
Давай, ждем тебя в 19.00 с нами.)
Не знаешь кто он такой? Вот наш пост - https://yangx.top/dh_jun/488
А это ссылка на него в поиске - https://yandex.ru/search/?text=%D1%8F%D0%BD+%D1%82%D0%B8%D1%88%D0%BA%D0%BE&lr=12
Ссылка - https://www.youtube.com/watch?v=mF11u1CSAHw
Давай, ждем тебя в 19.00 с нами.)
Telegram
Dev House Jun Front
Йоу, мы тут решили провести интервью в прямом эфире с Яном Тишко. Ему 29 лет, он Front-end Engineer в Roku (USA), 7 лет опыта во фронте. Юзает JS, TS, реакт и нод. Живет и работает в Калифорнии. Сам парень из Белоруси.
Поговорим о его карьерном пути - от…
Поговорим о его карьерном пути - от…
Залетай - 5 минут до начала стрима) Вопросы можно будет задавать в комментариях.) Интервью с белорусским фронтом в калифорнии - https://www.youtube.com/watch?v=mF11u1CSAHw
YouTube
Интервью с Яном Тишко | От охранника в Беларуси до Front-End Engineer в Калифорнии
Блог Яна: https://yangx.top/front_end_interview
LinkedIn Яна: https://www.linkedin.com/in/yantsishko
DevHouse_Bot https://yangx.top/DevHouse_your_Bot
*в боте много полезных материалов для разработчика
ВК https://vk.com/dev_house
Телеграм https://yangx.top/dh_jun
Сайт…
LinkedIn Яна: https://www.linkedin.com/in/yantsishko
DevHouse_Bot https://yangx.top/DevHouse_your_Bot
*в боте много полезных материалов для разработчика
ВК https://vk.com/dev_house
Телеграм https://yangx.top/dh_jun
Сайт…
Привет. Твоя задача на сегодня:
Напишите тестировщик на основе данного кода. Пусть он спрашивает не один вопрос как сейчас, а 3 вопроса.
Код:
package javaapplication5; //название проекта у вас будет какое-то свое
import java.util.Scanner;
public class JavaApplication5 { //здесь тоже свое
public static void main(String[] args) {
Scanner myscan = new Scanner (System.in);
System.out.println ("Привет!");
System.out.println ("Сколько будет 25*5 ?");
int x = 0;
x = myscan.nextInt (); //считать int с клавиатуры и записать в x
if (x == 125){
System.out.println ("Да, это круто!");
} else {
System.out.println ("Абсолютная ложь!");
}
}
}
Напишите тестировщик на основе данного кода. Пусть он спрашивает не один вопрос как сейчас, а 3 вопроса.
Код:
package javaapplication5; //название проекта у вас будет какое-то свое
import java.util.Scanner;
public class JavaApplication5 { //здесь тоже свое
public static void main(String[] args) {
Scanner myscan = new Scanner (System.in);
System.out.println ("Привет!");
System.out.println ("Сколько будет 25*5 ?");
int x = 0;
x = myscan.nextInt (); //считать int с клавиатуры и записать в x
if (x == 125){
System.out.println ("Да, это круто!");
} else {
System.out.println ("Абсолютная ложь!");
}
}
}
Привет! Пора решить задачу)
Дан массив числами, например: [10, 20, 30, 50, 235, 3000]. Выведите на экран только те числа из массива, которые начинаются на цифру 1, 2 или 5.
Решение:
var arr = ['10', '20', '30', '50', '235', '3000'];
for (var i = 0; i < arr.length; i++) {
if (arr[i][0] == '1' arr[i][0] == '2' arr[i][0] == '5') {alert(arr[i]);}
}
Дан массив числами, например: [10, 20, 30, 50, 235, 3000]. Выведите на экран только те числа из массива, которые начинаются на цифру 1, 2 или 5.
Решение:
for (var i = 0; i < arr.length; i++) {
if (arr[i][0] == '1' arr[i][0] == '2' arr[i][0] == '5') {alert(arr[i]);}
}
Привет! На сегодня твоя задача:
Напишите функцию JavaScript, чтобы проверить, являются ли данные типы значений одинаковыми или нет.
Решение:
function is_sameType(value1, value2) {
if(is_nan(value1) || is_nan(value2)) {
return is_nan(value1) === is_nan(value2);
}
return toString.call (value1) === toString.call (value2);
}
function is_nan(val)
{
return val !== val;
}
console.log(is_sameType('12', 100));
console.log(is_sameType('12', '100'));
console.log(is_sameType(12, 100));
Напишите функцию JavaScript, чтобы проверить, являются ли данные типы значений одинаковыми или нет.
Решение:
if(is_nan(value1) || is_nan(value2)) {
return is_nan(value1) === is_nan(value2);
}
return
}
function is_nan(val)
{
return val !== val;
}
console.log(is_sameType('12', 100));
console.log(is_sameType('12', '100'));
console.log(is_sameType(12, 100));
Хай! Пора решить задачу
Напишите функцию JavaScript, чтобы получить значения имени и фамилии следующей формы.
Пример HTML-файла:
<! DOCTYPE html>
<HTML> <HEAD>
<meta charset = utf-8 />
<title> Вернуть имя и фамилию из формы </ title>
</ HEAD> <тело>
<form id = "form1" onsubmit = "getFormvalue ()">
Имя: <input type = "text" name = "fname" value = "David"> <br>
Фамилия: <input type = "text" name = "lname" value = "Бекхэм"> <br>
<input type = "submit" value = "Submit">
</ Форма>
</ Body>
</ Html>
Решение:
<!DOCTYPE html>
<html><head>
<meta charset=utf-8 />
<title>Return first and last name from a form</title>
<style type="text/css">
body {margin: 30px;}
</style>
</head><body>
<form id="form1" onsubmit="getFormvalue()">
First name: <input type="text" name="fname" value="David"><br>
Last name: <input type="text" name="lname" value="Beckham"><br>
<input type="submit" value="Submit">
</form>
</body></html>
<script>
function getFormvalue()
{
var x=document.getElementById("form1");
for (var i=0;i<x.length;i++)
{
if (x.elements[i].value!='Submit')
{
console.log(x.elements[i].value);
}
}
}
</script>
Напишите функцию JavaScript, чтобы получить значения имени и фамилии следующей формы.
Пример HTML-файла:
<! DOCTYPE html>
<HTML> <HEAD>
<meta charset = utf-8 />
<title> Вернуть имя и фамилию из формы </ title>
</ HEAD> <тело>
<form id = "form1" onsubmit = "getFormvalue ()">
Имя: <input type = "text" name = "fname" value = "David"> <br>
Фамилия: <input type = "text" name = "lname" value = "Бекхэм"> <br>
<input type = "submit" value = "Submit">
</ Форма>
</ Body>
</ Html>
Решение:
<html><head>
<meta charset=utf-8 />
<title>Return first and last name from a form</title>
<style type="text/css">
body {margin: 30px;}
</style>
</head><body>
<form id="form1" onsubmit="getFormvalue()">
First name: <input type="text" name="fname" value="David"><br>
Last name: <input type="text" name="lname" value="Beckham"><br>
<input type="submit" value="Submit">
</form>
</body></html>
<script>
function getFormvalue()
{
var x=document.getElementById("form1");
for (var i=0;i<x.length;i++)
{
if (x.elements[i].value!='Submit')
{
console.log(x.elements[i].value);
}
}
}
</script>