物件導向js javascript

來源:互聯網
上載者:User

<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>

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.