zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    JS常用自定义方法
    mybatis like用法
    设计模式之前之UML
    DSU模板(树的启发式合并)
    【hihocoder编程练习赛9】闰秒
    静态链接与动态链接的区别【转】
    pragma指令详解(转载)
    Crawl(2)
    Crawl(1)
    Treap
  • 原文地址:https://www.cnblogs.com/tangruixin/p/4198915.html
Copyright © 2011-2022 走看看