Некоторое время назад я писал про
разные интересные возможности функций. С тех пор я начитался умных статей и теперь готов поделиться новым знанием.
1. Использование объекта arguments в функции приводит к небольшому замедлению работы скрипта. Дело в том, что этот объект создается по запросу, т.е. если мы его не используем, то он и не будет создан. Если есть возможность - лучше обращаться к параметрам функции по их именам.
2. Кэширование результатов вычислений. Каждая функция в JavaScript является объектом, которому мы можем назначать свойства.
function myFn() {
if (!myFn.cache) {
var currentTime = new Date()
myFn.cache = currentTime.getHours()+':'+currentTime.getMinutes()+':'+currentTime.getSeconds();
}
return myFn.cache
}В данном примере вычисляется время первого вызова функции. Все остальные обращения к ней будут возвращать один и тот же результат.
3. Самозапускающиеся функции. Все что для них нужно, это несколько скобок.
(function(){
alert('autostart!');
})();
4. Функции, которые возвращают функции.
function setup() {
alert(1);
return function() {
alert(2);
};
}
var my = setup(); // alerts 1
my(); // alerts 2Мне кажется, этот пример говорит сам за себя.
5. Функции в качестве параметров (callbacks). Обычно их используют для реализации отложенного выполнения в функции setTimeout. Но функции можно также передавать и в обычные пользовательские функции.
По материалам:
www.jspatterns.com