<script type= "Text/javascript" >//using the var keyword in anonymous functions(function(){ varPrivatefield = 42; functionInnerfunc () {notsoprivate=43; returnnotsoprivate; } alert (Privatefield); // thePrivatefield = Innerfunc ();//alert (notsoprivate);// + })(); Alert (typeofPrivatefield);//undefinedalert (notsoprivate);//43 Variable Leaks</script>
The above uses Var to prevent variables from leaking private properties
varobj = (function (){ varPrivatefield = 42; varPublicfield = "Foobar"; functionprocessinternals () {alert (' Internal stuff: ' +Privatefield); } functionrun () {processinternals (); Alert (' Still private stuff: ' +Privatefield); Alert (' Public stuff: ' +Publicfield); } return{publicfield:publicfield, run:run};}) (); Obj.run (); //pop-up internal, still private, Pupublicalert (Obj.publicfield);//FoobarAlert (Obj.processinternals ());//Undefinedalert (Obj.privatefield);//undefined
JavaScript implements code access control through module mode