`

如何把JS写成类

阅读更多

    mootools创建了一个dialog widget

       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. });  
     

     

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

    方法一:

    if (!window.testClass)   
    {   
    testClass =    
        {   
         data:null,    //类的属性
            init: function()    //类的方法
            {    
                this.data=456;   
                alert("init")   
            },  // 注意逗号   
            show: function()   //类的方法 
            {              
                alert("show:"+this.data)   
            }   
        }   
    }
    调用方法:
    testClass是类名
    testClass.init();
    testClass.show();

     

     

     

    方法二:

     

    //////////////////////////////////////////////////////////////////////
    //取得 指定元素的 子元素(特定) 											//
    //子元素可以指定 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());

     

    分享到:
    评论

    相关推荐

      javascript读写XML文件

      ### JavaScript读写XML文件:深度解析与应用实例 在现代Web开发中,XML(Extensible Markup Language)作为一种标准的数据交换格式,被广泛应用于各种场景,如配置文件、数据传输等。利用JavaScript进行XML文件的...

      用Js写成的关于checkdate

      用来检测时间的小程序用Js写成的关于checkdate

      Laya 用TypeScript写的代码,编译成JavaScript后bundle.js没更新.pdf

      在使用Laya开发游戏或应用时,遇到的一个常见问题是 TypeScript 编写的代码在编译成JavaScript后,bundle.js 文件没有更新。这个问题可能导致开发者的新添加功能无法正常工作,因为bundle.js中没有反映出这些改动。...

      牛人用js写的星际游戏

      【标题】:“牛人用js写的星际游戏” 在IT领域,JavaScript(简称js)是一种广泛应用于Web开发的脚本语言,其灵活性和强大的功能使得开发者可以用它来实现各种各样的项目,包括创建复杂的交互式网页应用。在这个...

      js操作cookies类

      通过这个类,开发者可以更方便地管理和操作JavaScript中的Cookie,实现诸如用户设置、临时存储等应用场景。理解这个类的工作原理对于优化网站性能和用户体验至关重要,特别是在需要在客户端持久化数据时。

      javascript写的模拟器运行linux--jslinux

      这个模拟器的核心在于它将Linux内核和基本的系统工具转换成了JavaScript代码,这样它们就能在Web环境中运行。用户可以通过浏览器访问JSLinux网页,加载不同的Linux发行版,如Debian或Ubuntu,然后进行各种操作,如...

      CodePress 是一个完全用 Javascript 写成的 HTML Textarea 增强程序

      CodePress 是一个完全用 Javascript 写成的 HTML Textarea 增强程序,利用它,你只需要简单的修改,就可以将你网页中的 Textarea 变成一个支持语法高亮的程序编辑器。CodePress 完全开源,非常容易集成。 CodePress ...

      牛人写的Javascript

      "牛人写的Javascript"这一主题,暗示我们将探讨的是由业界高手编写的JavaScript代码示例,这些代码可能包含创新的设计思路、高效算法或者独特的编程技巧。 描述中的“JS游戏”指的是使用JavaScript编写的交互式游戏...

      JavaScript类的写法

      早期的javascript需求都很简单,基本都是写成函数的,然后是面向过程的写法,后来慢慢的引入面向对象开发思想,再后来就慢慢写成类。 在js中,写成类的本质基本都是 构造函数+原型。下面,就讨论一下js类的几种写法...

      简单js使用json数据 写成的一棵树

      本示例中的"简单js使用json数据 写成的一棵树"是利用JSON数据构建一个可交互的树形结构,这种技术常见于数据展示、目录结构或者组织复杂的数据关系。 首先,我们来理解JSON的基本结构。JSON采用完全独立于语言的...

      JavaScript实现把数字转换成中文

      JavaScript 实现数字转换成中文是一种常见的编程需求,特别是在处理金融、会计等领域,中文数字的表示方式更加直观且符合中文阅读习惯。以下是一个简单的 JavaScript 函数,用于将阿拉伯数字转换为中文数字。 首先...

      菜单树,包含右击菜单 项目直接把js 导入 如果写成动态读取数据库要将代码稍微改改.树状表包含右击菜单

      这可能涉及到使用Ajax请求获取数据库中的菜单数据,然后利用JavaScript(可能借助jQuery和Ext JS)来构建和渲染菜单树。 总的来说,创建一个包含右击菜单的动态菜单树需要理解前端和后端的交互机制,熟悉JavaScript...

      原生js写的飞机大战游戏

      4. **对象和类**:JavaScript支持面向对象编程,游戏中的飞机、子弹、敌人等都可抽象成对象,通过构造函数和原型链实现类的继承和实例化。每个对象有自己的属性(如位置、速度等)和方法(如移动、碰撞检测等)。 5...

      树形菜单,由javascript写成。

      这个压缩包文件“AlaiJSCtr”似乎包含了一个用JavaScript实现的树形菜单的代码资源,对于Web开发者来说是非常实用的。 JavaScript是一种广泛使用的客户端脚本语言,它在浏览器环境中运行,为网页添加交互性。在创建...

      VB语言的分页代码,已经写成类

      在本篇内容中,我们将详细介绍如何使用VBScript(Visual Basic Script Edition)来实现一个简单的分页功能,并将其封装成一个易于调用的类。 #### 分页代码概述 提供的代码示例是用VBScript编写的,主要用于ASP...

      手机端图片拖到效果(纯js写的 当前主流效果,封装成类,可以直接调用)

      这个项目提供了一种纯JavaScript实现的解决方案,它是一个已经封装成类的图片拖动功能,可以直接在你的代码中调用,提高了开发效率和用户体验。下面将详细介绍这个功能及其相关知识点。 1. **JavaScript基础**: ...

      javascript-xpath-latest.js

      1. 更换默认的xpath库 除了ie,其他主要浏览器都是内置对xpath的支持的,... 如果上面的测试写成下面这样,运行时间就会变成几秒了。 assertTrue(selenium.isElementPresent("//div[1]/table/tbody/tr[2]/td[2]"));

      js 写2048网页游戏

      在实际开发过程中,为了提高代码的可读性和维护性,通常会采用模块化和面向对象编程的方法,将各个部分封装成独立的函数或类。此外,还可以考虑使用ES6的语法特性,如箭头函数和模板字符串,以简化代码。 总结,...

      自己写的js`动画等控件类

      "自己写的js动画等控件类"是一个自定义的JavaScript库,旨在提供一套便捷、灵活的动画效果和用户界面控件。这个库可能包含了作者对于JavaScript动画原理和控件构建的独特理解和实践,适合对JavaScript有兴趣或者想要...

      Laya 用TypeScript写的代码,编译成JavaScript后bundle.js没更新问题的原因追寻.pdf

      在开发Laya项目时,使用TypeScript作为源代码语言,然后将其编译为JavaScript,有时可能会遇到一个棘手的问题:bundle.js文件没有更新。这个问题在初看之下可能让人困惑,尤其是当你尝试各种方法如新建工程、拷贝...

    Global site tag (gtag.js) - Google Analytics