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, pupublic
alert(obj.publicField); // foobar
alert(obj.processInternals()); // Undefined
alert(obj.privateField); // undefined

转载于:https://www.cnblogs.com/tangruixin/p/4198915.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值