В нескольких библиотеках JavaScript я видел эту запись в самом начале:
/**
* Library XYZ
*/
;(function () {
// ... and so on
Хотя мне вполне комфортно с синтаксисом «немедленно выполняемая функция»
(function(){...})()
Мне было интересно, для чего используется главная точка с запятой. Все, что я мог придумать, это то, что это страховка. То есть, если библиотека встроена в другой, глючный код, она служит в качестве «скачка скорости» последнего оператора, заканчивающегося здесь самым последним.
Есть ли у него другие функциональные возможности?