無名関数リテラルをその場で呼び出すというJavaScriptイディオムがあります。 性質を見てみます。
(function () { function hoge() { print( "fuga" ); } hoge(); // fuga })(); hoge(); // typein:25: ReferenceError: hoge is not defined
関数内で宣言された関数は関数スコープです。さらに無名であり、変数にも代入されていないので、外側から呼び出す方法はありません。このイディオムはC++のクラスでいうprivate属性と似た性質も持ちます。
変数に代入したオブジェクトも関数スコープなので結果は同じです。
(function () { var human = { walk: function() { print( "tekuteku" ); } }; })(); human.walk(); // typein:49: ReferenceError: human is not defined