Логическое отрицание результата выполнения анонимной функции
В сорцах facebook был найден образец нижеизложенного кода. Подскажите, пожалуйста, назначение и смысл использования подобного приёма:
!function(){
…
}();
Оригинал:
!function(){
var c = document.documentElement;
var b = 'child_focused';
var d = 'DOMControl_placeholder';
var a = function(e){
e = e || window.event;
var f = e.target || e.srcElement, h = f.getAttribute('placeholder');
if (h) {
var g = Parent.byClass(f, 'focus_target');
if ('focus' == e.type || 'focusin' == e.type) {
if (f.value == h) {
f.value = '';
CSS.removeClass(f, d);
g && CSS.addClass(g, b);
}
}
else
if (f.value == '') {
CSS.addClass(f, d);
f.value = h;
g && CSS.removeClass(g, b);
}
}
};
c.onfocusin = c.onfocusout = a;
if (c.addEventListener) {
c.addEventListener('focus', a, true);
c.addEventListener('blur', a, true);
}
}();
Смысл есть. Если не написать !, то функция будет распознана как function declaration, а ее нельзя сразу же вызвать, т.е.
function (){
/* body */
}()
Вызовет ошибку. Но добавив оператор, мы «конвертировали» наше function declaration в function expression, которое уже можно вызывать по вышеуказанной схеме. Стандартный эквивалент
В рассматриваемом случае возвращение true в качестве результата не имеет значения. Функция просто выполняется и результат ничему не присваивается и никуда не возвращается. Каков смысл тогда в использовании такой конструкции?