counts[arr1[i]] = (counts[arr1[i]] || 0) + 1;
// если свойство count[arr1[i]] уже есть в объекте arr1
// то мы получаем значение свойства (число) и увеличиваем на 1
// если свойства count[arr1[i]] нет в объекте,
// то оно создается и записывается значение этого свойства 1
// При первой итерации при i=0 у вас создается свойство в объекте arr1['andesite']
// и ему присваивается 1
arr1['andesite'] = ( arr1['andesite'] || 0 ) + 1; // => arr1['andesite'] = 0 + 1;
// и так с каждым новым свойством
// далее это свойство при необходимости просто увеличивает свое значение
var sp2 = document.getElementById("childElement");
sp2 = "<div>TEXT</div>" + sp2;
var sp2 = document.getElementById("childElement");
var parentDiv = sp2.parentNode;
parentDiv.insertAdjacentHTML("afterBegin", "<div>TEXT</div>");
var sp2 = document.getElementById("childElement");
sp2.insertAdjacentHTML("beforeBegin", "<div>TEXT</div>");
<script>alert('xss')</script>
function test(data) {
console.log(this.innerHTML);
}
var btn = document.getElementById('btn');
btn.addEventListener('click', test, false);
$("#kad_1").click(function() {
// получаем значение title
var title = $(this).attr("title");
// вставляем данные в result
$("#result").html(title);
});
var result = +("#result").html() + title;
$("#result").html(result);