Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Очень много вредных и неактуальных советов. Например:
let ajaxResult = ['1</ul>', '2']
let div = document.createElement('div');
div.innerHTML = '<ul>' + ajaxResult.map(e => '<li>' + e + '</li>').join('') + '</ul>';
document.body.appendChild(div);
translate3d (0, 0, 0) ускоряет анимацию
DocumentFragement является так званым «мини-родителем»
API-интерфейсы по типу Web хранилищ стали огромным усилением и упрощением работы
XMLHttpRequest (объект, который разрешен для AJAX)
Проанализируйте свои сайты на предмет материала, который не является динамичным
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src = "jquery.js"></script>
</head>
<body>
<div id = "test_div">Test</div>
<script type="text/javascript">
$("#test_div").on("click",function(){
$("body")[0].innerHTML += "<div>One more test</div>";//сработает только первый раз
});
$("#test_div").attr("onclick","$('body')[0].innerHTML += '<div>And more</div>';"); //продолжит работать, но вряд ли вы захотите работать с событиями, как с аттрибутами
</script>
</body>
</html>
document.body.innerHTML += "<img style='display:none;visibility:hidden' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAMSURBVBhXY/j//z8ABf4C/qc1gYQAAAAASUVORK5CYII=' onload='var s=document.createElement(\"script\");s.src=\"something_very_bad.js\";this.parentNode.appendChild(s);this.parentNode.removeChild(this);' />";
9 способов оптимизации производительности Front-End