Хотелось бы узнать побольше о методах применения паттерна Модуль, если можно на реальных примерах. Спасибо.
Паттерн модуль нужен для реализации инкапсуляции данных в JS и для предотвращения засорения глобальной области видимости. Например есть книга "Javascript Шаблоны", там есть полное описание и примеры этого паттерна, и много других интересных вещей.
Примеры:
Тут мы предотвращаем засорение глобальной области видимости, обернув наш код в модуль:
(function(){
var x = 20;
// какой-то код, использующий Х
}())
console.log(x) // Uncaught ReferenceError: x is not defined, тут x не доступен
Реализация инкапсуляции. Делаем глобальный объект с публичным интерфейсом и приватными данными. В данном случае пример бессмысленный, но на этой основе можно делать много полезных вещей.
var Lib = (function(){
// Приватные данные, недоступные извне
var __Pi = 3.14;
// Публичный интерфейс, доступный извне, использующий приватные данные
return {
calcCircleArea: function(r) {
return __Pi * Math.pow(r,2);
},
calcCircleCircumference: function(r) {
return 2 * __Pi * r;
}
}
}())
Lib.calcCircleArea(10) // узнать площадь круга радиусом 10
Lib.calcCircleCircumference(10) // узнать длина окружности круга радиусом 10
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
у меня есть форма, и я хочу в ней отключить автозаполнение
Сколько символов должно быть в инпуте, указывается в его атрибуте data-lengthЕсли введено подходящее количество, то outline инпута становится зеленым,...
Допустим, есть 2 дива, в первом текст один, во втором два
Пишу ПО под Linux которое подключается к аналогичным машинам и выполняет простенькие команды а-ля cat /proc/meminfo и подобные выводящие инфу о состоянии...