zoukankan      html  css  js  c++  java
  • 面向对象js javascript


    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script type="text/javascript" src="jquery.js"></script>

    <script type="text/javascript">
    var page={};

    $(document).ready(
    function(){
        
    //alert(typeof page);
    });

    function MyClass (name){
        
    //Dynamic Propertie
        this.Name=name;
        
    //dynamic function
        this.showName=function(){
            document.write(name
    +"<br />");
        };
    }

    MyClass.staticName
    ="静态成员";
    //静态方法
    MyClass.staticFun=function(name){
        document.write(
    " 静态方法返回值: "+name +"<br />"+"staticName:"+MyClass.staticName);
    };

    //当函数a的内部函数b被函数a外的一个变量引用的时候,就创建了一个闭包。
    //
    /////////////////////////closure闭包//////////////////////////////////////
    var testCls=function(arg1){
            
    //对象内部公有变量,不允许外部访问
            var a=arg1;
            
    var b=10;
            
    var alertB=function(){
                     alert(b);
             }

            
    //外部可访问区域
            return {
                     c:
    5,
                     setA:
    function(v){
                             a
    =v;
                     },
                     alertA:
    function(){
                             alert(a);
                     },
                     alertB:
    function(){
                             alertB();
                     }
             }
    };

    var test=new testCls(4);
    /*
    test.setA(6);
    test.alertA();
    test.alertB();
    //alert(test.a);      //undefined,具有较好的封闭性
    alert(test.c);        //5
    */
    ///////////////////////////////////////////////////////////////////////////////////
    //
    另外,还有一种格式颇受争议:
    //
    (function(a,b){...})(a,b);
    (function MyClass2(a,b){
        
    this.MyVar="我的变量";
        alert(a
    +b+this.MyVar);
    })(
    1,2);


    </script>
    </head>

    <script type="text/javascript">
    var mc=new MyClass("吴xx");
    mc.showName();
    //静态方法只能用类引用,不能 mc.staticFun("静态参数!");
    MyClass.staticFun("静态参数!");
    </script>

    <body>
    </body>
    </html>
  • 相关阅读:
    HDU 5650 异或
    HDU 5646
    HDU 5645
    P2075 [NOIP2012T5]借教室 区间更新+二分查找
    HDU 5641
    读写分离
    linux执行cmd之一
    html2image
    挂载引起的权限问题
    如何防止sql注入
  • 原文地址:https://www.cnblogs.com/wucg/p/1785822.html
Copyright © 2011-2022 走看看