Что это такое — «понимать замыкания?»
Иногда говорят «Вася молодец, понимает замыкания!». Что это такое — «понимать замыкания», какой смысл обычно вкладывают в эти слова?
«Понимать замыкания» в JavaScript означает понимать следующие вещи:
- Все переменные и параметры функций являются свойствами объекта переменных LexicalEnvironment. Каждый запуск функции создает новый такой объект. На верхнем уровне им является «глобальный объект», в браузере — window.
- При создании функция получает системное свойство [[Scope]], которое ссылается на LexicalEnvironment, в котором она была создана.
- При вызове функции, куда бы её ни передали в коде — она будет искать переменные сначала у себя, а затем во внешних LexicalEnvironment с места своего «рождения».
jQuery.fn.anyBodyHome = function (selector) {
return this.is(selector) ? this
: this.find(selector).first()
}
return this.is(selector) || this.find(selector).length > 0
В нативном Javascript есть метод elem.classList.contains("test-class"), который возвращает true/false в зависимости от того, есть ли класс ("test-class") у элемента (elem) ИЛИ его потомков.
function getNumbers(str){ //вернет массив всех чисел в строке
var reg=/\d+/g,results=[];
while(match=reg.exec(str)){
results.push(match[0]*1);
}
return results;
}
console.info("Numbers:",getNumbers("цена за 1 мес. - 25")); // Numbers: [1, 25]
console.info("Price:", getNumbers("цена за 1 мес. - 25")[1]); // Price: 25