$('.js-class').find('input');
$el.find(selector) — позволяет найти элемент внутри уже найденного элемента. Это сильно экономит время в случаях, когда нам нужно найти несколько элементов внутри одного родителя.
Хорошо проиллюстрировать это может пример с формой — у формы много различных контроллов, но родитель один:
var $form = $('.js-form'); var $name = $form.find('input[name="name"]'); var $surname = $form.find('input[name="surname"]'); var $age = $form.find('input[name="age"]');
Такие селекторы будут работать быстрее так как браузеру не придётся перебирать всё HTML-дерево для поиска каждого элемента формы.
Подробнее — jQuery Filtering
Подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате, при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся быстрее и удобнее.
Не смотря на название, AJAX обычно использует JSON как формат общения между клиентом и сервером. Так работают Twitter, Facebook, VK, и огромное множество других сайтов.
var url = "https://rawgit.com/shuvalov-anton/ff556601eff32e4947a9/raw/a719b16d192b52c41c845e508da1f00ad15461e9/data.json"; $.get(url, function(data) { console.log(data) });
var url = "http://my-server.com/posts"; var data = {}; $.post(url, data, function(data) { console.log(data) });
var x = 5; function update() { x = 6; } update(); x; // 6;
var x = 5 function update() { var x = 6; x; // 6 } x; // 5
var x = 5 function update() { var x = 6; var y = 7; x; // 6 y; // 7 } x; // 5 y; // undefined
Значение constant нельзя случайно/специально перезаписать. Его можно только получить с помощью функции secret.get()
function secret(x) { var constant = 42; return { get: function() { return constnant; } } }
Замыкание очень полезно для разграничения приватных и публичных частей javascript-кода. Это основополагающая идея паттерна «Модуль».
function module(options) { var state = 42; var other = 14; function privateMethod() { // do something } // public interface return { publicMethod: function() { // works in private context } } }