var o = {};
(function(x){x=null})(o); //o is NOT null after this statement
(function(x){x.foo = "foo"; x.bar = "bar";})(o) //o has properties foo and bar after this statement
オブジェクト o を関数に渡すとどうなりますか? 最初の関数は、渡されなかったように見えます。2番目の関数は、oが渡されたように見せます