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

  • 相关阅读:
    jichu
    scanf
    数位dp
    hdu 5667
    华东交通大学2018年ACM“双基”程序设计竞赛 K
    华东交通大学2018年ACM“双基”程序设计竞赛 D
    map
    次小生成树
    set
    c++11之为什么C++11引入了std::ref?
  • 原文地址:https://www.cnblogs.com/tangruixin/p/4198915.html
Copyright © 2011-2022 走看看