zoukankan      html  css  js  c++  java
  • JS 封装

    一、面向对象思想

        封装 继承  多态 封装思想 属性隐藏

    二、封装 

    <script>
    
    //第一种封装(通过定义一个变量(cop),返回一个对象来公开(return {}))
       var cop=(function my(){
            var a=1;
            function foo() {
                console.log("函数的执行")
            }
            console.log("2"+a);
            return  {test:foo};//把函数foo重命名为test,放在一个对象里面,并返回
    
        })();//在函数后面加个括号就是函数自执行(隐士执行);外界无法调用my这个函数
    //    console.log(a);//这里打印报错a is not defined.这就是把这个函数做了个隐藏
        cop.test();//现在就可以执行foo这个函数了
        console.log(cop);//打印出来这个cop是一个对象
    
    //第二种封装(通过window对象来公开;但是这种方法仅限于浏览器)
        (function () {
               var b=3;
               var a=100;
               function foo2(){
                  console.log("函数自执行第二种")
               }
               console.log(b);//3
            var publicObj={foo:foo2,number:b};
    //        window.aa=publicObj;
            window.$=publicObj;//这里的$不是JQ,是自定义的东西,相当于上一句代码中的aa.Object{number:1}
        })();
        console.log(window.$);
        $.foo();
    </script>
    

      因为JS没有私有化的概念,所以需要使用封装来实现隐藏,函数的呃自执行就是一个隐藏的方式方法。

    属性公开的方法从上面的代码可以看出有两种,第一种是通过定义一个变量来公开。

  • 相关阅读:
    一、反射机制介绍_Class 对象获取
    六、.XPATH 技术_快速获取节点
    五、.DOM4J 方式解析 XML 数据
    四、.JDOM 解析 XML 数据
    三、SAX 方式解析 XML 数据
    二、DOM方式解析XML
    一、Schema验证XML
    三、线程同步Synchronized
    二、线程状态
    JDK8Lambda和方法的引用
  • 原文地址:https://www.cnblogs.com/potato-lee/p/6559010.html
Copyright © 2011-2022 走看看