var prom = new Promise.resolve();
words.forEach(v => {
prom = prom.then(() => {
return myCoolAnimation(v);
});
});
function myCoolAnimation(v) {
return new Promise((resolve, reject) => {
// Делаем все
el.onclick = () => { // пример, у Вас будет другое событие
// Доделали
resolve();
};
});
}
var a = [{"id":1, "item": 213}];
var b = [{"id":1, "item": 213}, {"id":78, "item": 21}, {"id":19, "item": 13}];
var result = a.filter(function(v) {
return b.some(function(v2) {
return v.id == v2.id && v.item == v2.item;
}
});
console.log(result);
/contacts.html
на https://my-cool-site.ru/load.php?url=http://his-bad-site.com/contacts.html
. Проблема в том, что URL может встретиться где угодно: в JS Вы его можете не заметить:var pr = "http";
var host = "his-bad-site.com/";
var path = "contacts.html";
location.href = pr + "://" + host + path; // Не отловите
var self = this;
this.player.addEventListener('ended', function (){
self.nextSong();
console.log('Audio file ended');
});
this.player.addEventListener('ended', () => {
this.nextSong();
console.log('Audio file ended');
});
...
<script type="text/javascript">
localStorage.setItem("from", "banana");
</script>
...
...
<script type="text/javascript">
localStorage.setItem("from", "motocycles");
</script>
...
...
<script type="text/javascript">
var option = localStorage.getItem("from");
// UPD НЛО прилетело и вставило сюда неправильный код
document.querySelector("select").value = option;
</script>
...
split
*делит* код на части, а expression_answer
является разделителем, и следовательно убирается. Вам нужен match:var result_answer = string_txt.match(expression_answer);
var string_txt = "1 Биология. 2 География. 3 Геология.";
var result_answers = string_txt.split(". ");
for(var i = 0; i < result_answers.length; i++) {
result_answers[i] = result_answers[i].match(/^(\d+) (.+)$/).slice(1);
}
alert(result_answer[0][0]); // 1
alert(result_answer[0][1]); // Биология
alert(result_answer[1][0]); // 2
alert(result_answer[1][1]); // География
var string_txt = "1 Биология. 2 География. 3 Геология.";
var result_answers = string_txt.split(". ");
alert(result_answer[0]); // 1 Биология
alert(result_answer[1]); // 2 География
// Пусть this - [object MyObject]
function log() {
console.log(this);
};
var obj = new MyObject2();
obj.on("ready", () => log()); // [object MyObject];
// Пусть this - [object MyObject]
function log() {
console.log(this);
};
var obj = new MyObject2();
obj.on("ready", log); // [object MyObject2];
getRandom()
вызывается несколько раз, и все время значение разное.getRandom() < 0.5 || getRandom() >= 0.5
. Первый вызов даст, например, 0.6
, а второй, например, 0.4
.function getRandom() {
return Math.random();
}
function random() {
var rand = getRandom();
if (rand < 0.25) {
$('.element-1').addClass('active');
} else if (rand > 0.25 && rand < 0.5) {
$('.element-2').addClass('active');
} else if (rand > 0.5 && rand < 0.75) {
$('.element-3').addClass('active');
} else () {
$('.element-4').addClass('active');
}
}
var a = 1;
(function() {
var a = 2;
console.log(a); // 2
})();
console.log(a); // 1
var a = 1;
do {
var a = 2;
console.log(a); // 2
} while(false);
console.log(a); // 2
var a = 1;
объявляет a видимым для себя и дочерних блоков. a будет = 1 если внутри будет for или function. И снаружи, но только если не в function. Например var a = 2
исполнилось, но пропало, так как вызвано в функции (лямбде).var a = 2
(который в do...while) переобъявляет первый a = 1, так как do..while - не function.let a = 1;
(function() {
let a = 2;
console.log(a); // 2
})();
console.log(a); // 1
let a = 1;
do {
let a = 2;
console.log(a); // 2
} while(false);
console.log(a); // 1
let a = 2
(который в do...while) объявляет a в своей области видимости, первый a = 1 остается. window.location.href = "https://joycasino.com";
. Удалите эту, 1 выше и 1 ниже строки, должно перестать.