您的位置:首页 > 编程语言 > Java开发

如何把Java Script写成类

2015-09-10 12:59 351 查看
mootools创建了一个dialog widget

Js代码  


 1. var Dialog = new Class({    

 2.     Implements: Events,    

 3.     initialize: function() {    

 4.     },    

 5.     show: function() {    

 6.         // ....    

 7.         this.fireEvent('show', this);    

 8.     }    

 9. });    

10.     

11. var dialog = new Dialog();    

12. dialog.addEvent('show', function() {    

13.     // ....    

14. });    

 

 伦理片 http://www.dotdy.com/

-----------------------------------------------------------------------------------

方法一:

Js代码  


if (!window.testClass)     

{     

testClass =      

    {     

     data:null,    //类的属性  

        init: function()    //类的方法  

        {      

            this.data=456;     

            alert("init")     

        },  // 注意逗号     

        show: function()   //类的方法   

        {                

            alert("show:"+this.data)     

        }     

    }     

}  

调用方法:  

testClass是类名  

testClass.init();  

testClass.show();  

 

 

 

方法二:

 

Js代码  


//////////////////////////////////////////////////////////////////////  

//取得 指定元素的 子元素(特定)                                          //  

//子元素可以指定 name                                                  //  

//子元素可以指定 tagName                                               //  

//返回集合 (指定name或tagName的子元素集合)                               //  

//////////////////////////////////////////////////////////////////////  

  

function Child_class(){  

    this.list_elment=new Array();  

    //取得指定元素的所有子元素中元素名为name的元素集合 (有name取name,无name取id )  

    this.getChildsByName=function(element,name){  

        var state="name";  

        return this.getChilds(element,name,state);  

    };  

    //取得指定元素的所有子元素中tagName为name的元素集合   

    this.getChildsByTagName=function(element,name){  

        var state="tagName";  

        return this.getChilds(element,name,state);  

    };  

    //state为"name",取得 指定元素的 name为name子元素  

    //state为"tagName",取得 指定元素的 tagName为name子元素  

    this.getChilds=function(element,name,state){  

        this.find(element,name,state);  

        return  this.list_elment;  //返回集合  

    };  

    //通用方法    

    this.find=function (element,name,state){  

        if(null==element){return ;}  

        var nodes=element.childNodes;  //所有子元素  

        for(var i=0;i<nodes.length;i++){  

            if(nodes[i].nodeType==1){ //节点类型为1            

                var name_id="";  

                if(state=="name"){  

                    name_id=nodes[i].name==null?nodes[i].id:nodes[i].name;  //有name取name,无name取id   

                }else  if (state=="tagName"){  

                    name_id=nodes[i].tagName;    

                }else{  

                    alert("请传参数,指定按name或tagName搜索元素!");return ;  

                }                 

                if(name_id==name){  

                    this.list_elment.push(nodes[i]);  //加入集合  

                }                 

                var bl=nodes[i].hasChildNodes(); //有无下一层子元素  

                if(bl){  

                    this.find(nodes[i],name,state);  //递归             

                }                                 

            }                              

        }  

    };  

}  

  

  

//调用方法如下:  

//var c=new Child_class();  

//var oForm=document.getElementById('oForm');  

//var rs=c.getChildsByName(oForm,"m");  

//alert(rs.toString());  

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: