実際は、右辺にオブジェクトをセットして専用の名前空間で参照できるライブラリのインスタンスとして利用します。 ルートで var で定義する変数と厳密には違うようですが、事実上同じと思っていいと思います。ですから、Fucntion 内でグルーバルな変数を利用したい場合は、window オブジェクトを使用すると良いでしょう
window.変数名 = "lightbox" または window["変数名"] = "lightbox"
例えば、ライブラリを簡単にまとめると以下のような定義のしかたになります。
(function(){ S = { // いろいろな定義 }, // いろいろな定義 ; window['MyLIB'] = S; })();
(function(){})(); は、関数を定義して呼び出すのを一度に行う書き方で、無名関数を定義して () で実行しています
<script> window["MyLIB"] = "lightbox"; (function(){ alert(MyLIB); })(); </script>