Size: a a a

2019 November 16

В

Валик in JS
можно и без сплит через спред, но суть та же
источник

𝐁𝐏

𝐁𝐨𝐡𝐝𝐚𝐧 𝐏𝐞𝐭𝐫𝐨𝐯... in JS
Всем привет!
Кто-то использует webstorm?

Столкнулся с багом в коде, суть которого состояла в использовании i++ вместо ++i .
Решил найти решение по автозамене i++ на i+=1, но ничего толком в сети не нашел.
Использую связку ESLint + Prettier. Правило no-plusplus есть, всё подсвечивает.

Интересует возможность автоформатирования, как var автоматически меняет на let и т.д.
источник

Ж

Жека in JS
𝐁𝐨𝐡𝐝𝐚𝐧 𝐏𝐞𝐭𝐫𝐨𝐯
Всем привет!
Кто-то использует webstorm?

Столкнулся с багом в коде, суть которого состояла в использовании i++ вместо ++i .
Решил найти решение по автозамене i++ на i+=1, но ничего толком в сети не нашел.
Использую связку ESLint + Prettier. Правило no-plusplus есть, всё подсвечивает.

Интересует возможность автоформатирования, как var автоматически меняет на let и т.д.
Гугли Babel, i++ тоже самое, что и ++i
источник

𝐁𝐏

𝐁𝐨𝐡𝐝𝐚𝐧 𝐏𝐞𝐭𝐫𝐨𝐯... in JS
Жека
Гугли Babel, i++ тоже самое, что и ++i
Спасибо, как вариант. Думал настроить в ide, но если ничего не найду, то можно и так.
источник
2019 November 17

GA

Gautama Austria in JS
Ни у кого нет Флэнагана (javascript подробное руководство) 7-го издания в пдф ?
источник

Ж

Жека in JS
https://codepen.io/mepuduah/pen/MWWqvjP Почему 4 выводится после 5, если стоит в цепочке до?
источник

𝐁𝐏

𝐁𝐨𝐡𝐝𝐚𝐧 𝐏𝐞𝐭𝐫𝐨𝐯... in JS
Gautama Austria
Ни у кого нет Флэнагана (javascript подробное руководство) 7-го издания в пдф ?
По моему последнее 6-е
источник

VL

Vladimir Luvolunov in JS
Жека
https://codepen.io/mepuduah/pen/MWWqvjP Почему 4 выводится после 5, если стоит в цепочке до?
Тайм-ауту пофиг, он получает все вызовы и делает из них очередь, исходя из того времени, через которое они должны быть вызваны
источник

VL

Vladimir Luvolunov in JS
Если ты вместо 1000 напишешь 0, то всё будет работать, как и ожидалось
источник

VL

Vladimir Luvolunov in JS
А так интерпретатор сравнил два тайм-аута и такой: "Ну первым в очереди должен быть тот, который вызовется через меньшее количество миллисекунд"
источник

VL

Vladimir Luvolunov in JS
Вот сидел как-то разбирался, как работают Promise
источник

VL

Vladimir Luvolunov in JS
источник

VL

Vladimir Luvolunov in JS
Это их примерная реализация
источник

В

Вадим in JS
Нужна помощь нормальных людей, ибо сам я не в состоянии понять, что и почему.
Решил написать игрушку, где герой прыгает через препятствия, худо бедно дописал до некоторого этапа, на котором застрял я не понимаю в чем проблема.
1. При попытке удалить вышедший за пределы экрана pipe (препятствие) через splice(i, 1), как только этот pipe удаляется,  вся анимация замораживается и мне выдает ошибку, что координата x у неизвестно объекта отсутствует. Но ведь на позицию 0 элемента в массиве этого цикла должен сместиться следующий элемент... В чем проблема?
2. Чем дальше идет анимация, тем быстрее при прыжке (через пробел) герой начинает возвращаться назад, т.е. притягиваться к земле. Т.о. сначала прыжки нормальные, а чем дальше, тем быстрее он начинает притягиваться к земле.

Помогите решить эти проблемы, пожалуйста. Заранее спасибо.

Код ниже👇
источник

В

Вадим in JS
const canvas = document.getElementById("canvas"),
ctx = canvas.getContext("2d");

let bottom = canvas.height,
dx = 2,
randomHeight,
jumps = 0;

const hero = new Image();
hero.src = "img/man.png";
let heroHeight = 75,
heroWidth = 100,
heroX = 40,
heroY = bottom - heroHeight;

const pipe = new Image();
pipe.src = "img/pipe.png";
let startPipePos = canvas.width,
pipeHeight = Math.floor(Math.random() * 90),
pipeY = bottom - pipeHeight;

let pipes = [{x: startPipePos, height: pipeHeight, pipeY: bottom - pipeHeight}];

pipe.onload = () => {
game();
}

function game() {
action();
render();
requestAnimationFrame(game);
}

function action() {
for(let i = 0, len = pipes.length; i < len; i++) {

pipes[i].x -= dx;

if(pipes[i].x == 600) {
randomHeight = Math.floor(Math.random() * 90);
pipes.push({x: startPipePos, height: randomHeight, pipeY: bottom - randomHeight});
}

if(heroY < bottom - heroHeight) {
heroY += .7;
}

// if(pipes[i].x < -30) {
// pipes.splice(i, 1);
// }
if(heroY >= bottom - heroHeight) jumps = 0;
}
}

function render() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.drawImage(hero, heroX, heroY, heroWidth, heroHeight);
for(let i = 0, len = pipes.length; i < len; i++) {
ctx.drawImage(pipe, pipes[i].x, pipes[i].pipeY, 30, pipes[i].height);
}
}

document.onkeypress = (e) => {
if(e.keyCode != 32 || jumps >= 2) return;
heroY -= 90;
jumps++;
}
источник

В

Вадим in JS
источник

EB

Erik B in JS
Какой уровень английского языка нужно знать, чтобы работать  Front End/JS разработчиком?
источник

L

Lidner in JS
Intermediate
источник

L

Lidner in JS
But Upper would be better
источник

ЕА

Евгений Александрови... in JS
Вадим
const canvas = document.getElementById("canvas"),
ctx = canvas.getContext("2d");

let bottom = canvas.height,
dx = 2,
randomHeight,
jumps = 0;

const hero = new Image();
hero.src = "img/man.png";
let heroHeight = 75,
heroWidth = 100,
heroX = 40,
heroY = bottom - heroHeight;

const pipe = new Image();
pipe.src = "img/pipe.png";
let startPipePos = canvas.width,
pipeHeight = Math.floor(Math.random() * 90),
pipeY = bottom - pipeHeight;

let pipes = [{x: startPipePos, height: pipeHeight, pipeY: bottom - pipeHeight}];

pipe.onload = () => {
game();
}

function game() {
action();
render();
requestAnimationFrame(game);
}

function action() {
for(let i = 0, len = pipes.length; i < len; i++) {

pipes[i].x -= dx;

if(pipes[i].x == 600) {
randomHeight = Math.floor(Math.random() * 90);
pipes.push({x: startPipePos, height: randomHeight, pipeY: bottom - randomHeight});
}

if(heroY < bottom - heroHeight) {
heroY += .7;
}

// if(pipes[i].x < -30) {
// pipes.splice(i, 1);
// }
if(heroY >= bottom - heroHeight) jumps = 0;
}
}

function render() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.drawImage(hero, heroX, heroY, heroWidth, heroHeight);
for(let i = 0, len = pipes.length; i < len; i++) {
ctx.drawImage(pipe, pipes[i].x, pipes[i].pipeY, 30, pipes[i].height);
}
}

document.onkeypress = (e) => {
if(e.keyCode != 32 || jumps >= 2) return;
heroY -= 90;
jumps++;
}
Еще не решил?
источник