首页 > 代码库 > javascript 通过模块模式实现代码访问控制

javascript 通过模块模式实现代码访问控制

<script type="text/javascript">    // 在匿名函数中使用var关键字    (function(){        var privateField = 42;        function innerFunc(){            notSoPrivate =43;            return notSoPrivate;        }        alert(privateField); // 42        privateField = innerFunc(); //         alert(notSoPrivate); // 43    })();    alert(typeof privateField); // undefined    alert(notSoPrivate);        // 43 变量泄露</script>

 

上面使用var 防止变量泄露

私有属性

var obj =(function (){    var privateField = 42;    var publicField = "foobar";    function processInternals(){         alert(‘Internal stuff : ‘ + privateField);    }    function run(){        processInternals();        alert(‘still private stuff : ‘ + privateField);        alert(‘Public stuff : ‘ + publicField);    }    return {        publicField : publicField,        run : run    };})();obj.run(); // 弹出 internal, still private, pupublicalert(obj.publicField); // foobaralert(obj.processInternals()); // Undefinedalert(obj.privateField); // undefined

javascript 通过模块模式实现代码访问控制