вот думаю изучать Дерево DOM, или может быть изучить GRID, или например еще нужно изучить как делать фотографии или видео в виде карусели когда изменяется изображениеВы ставите настолько разные штуки на одну полочку, и это говори о том, что вы кроме названия об этих штуках ничего не знаете. Разница примерно как "изучать устройство легкового автомобиля" и "изучать устройство автомобильной печки".
var leftMenu = document.querySelector(".left-menu");
var displayValue = window.getComputedStyle(leftMenu,null).getPropertyValue("display");
console.log(displayValue === 'none');
var someBtn = document.getElementById('all');
someBtn.onclick = function() {
myFunction(5);
}
function myFunction(a){
alert(a);
}
var someBtn = document.getElementById('all');
someBtn.onclick = function() {
alert(5);
}
var someBtn = document.getElementById('all');
someBtn.addEventListener('click', function() {
myFunction(5);
});
function myFunction(a){
alert(a);
}
const array = [{ name: 'John', age: 32}];
const element = { name: 'Sally', age: 25 };
const newArray = [ ...array, element ];
// => [{ name: 'John', age: 32}, { name: 'Sally', age: 25 }]
const add = (str, num, saveLength) =>
`${+str + num}`.padStart(str.length, 0).slice(-str.length * !!saveLength);
add('0001', 1) // '0002'
add('000099', 901) // '001000'
add('05', 99) // '104'
add('05', 99, true) // '04'
function Bird() {
// Код внутри функции Bird и есть constructor
console.log(this.constructor);
console.log('Код выполнится при создании нового объекта Bird');
}
let a = new Bird();
class Cat {
constructor() {
// Тело конструктора
console.log(this.constructor);
console.log('Аналогично коду сверху');
}
}
let b = new Cat();
19
, или true
, или '!!!!!'
, или... у вас же в операторе switch отсутствует ветка default - и вы ещё спрашиваете, откуда берётся undefined.case 1: return outtype = 'a'; break;
const getType = (type) => ({
1: 'a',
2: 's',
3: 'f',
})[parseInt(type, 10)] || /* а здесь должно быть дефолтное значение */
Сообщаю. была найдена в блочном редакторе XXS уязвимость. У нас работает Wallarm https://wallarm.com/ и мы платим им постоянно за его работу.
Произошла SQL инъекция, и Wallarm ее не заметил.
Злоумышленник смог добавить в свой аккаунт через нее подтвержденные адреса ( и на вашем домене в том числе) и поставить себе большой кредитный лимит, а так же изменил уровень попадания на модерацию до full trust ( то есть мы не проверяем никогда, кроме spam trap адресов ).
В ночь, когда работает только один сотрудник ( так как больше не требуется ) злоумышленник зарегистрировал аккаунт на сервисе esputnik , там разместил html файл с редиректом на сайт vsegdaplus.ru . Потом он зашел в свой аккаунт с не его подтвержденными адресами и включенным огромным кредитным лимитом и малыми партиями всю ночь до утра слал письма, всего ушло 1,9 млн трафика от 5ти разных доменов. Все одной тематики.
Как мы "залатали": уязвимость найдена и закрыта.
В перечне действий по такому ручному внесению адреса в подтвержденные не для staff аккаунтов установлен блокиратор + уведомление аларм на группу админов.
В Wallarm открыт кейс на расследование по инциденту, так как это их работа выявлять и закрывать нас от таких взломов.
Полученные данные по IP адресам взлома, по домену, на котором располагался вредоносный код и который был использован для инъекции, и другие данные - все поданы в юридический отдел для соответствующей подачи заявления в киберполицию.
body * {
transition: all .2s
}