当前位置: 首页 > 专利查询>李宗申专利>正文

一种使用一个选择符和至多一个参数处理javascript对象的方法技术

技术编号:8959473 阅读:144 留言:0更新日期:2013-07-25 19:01
本发明专利技术提供了一种只使用一个选择符和至多一个参数的情况下,快速访问和处理任意javascript对象的编程方法。该方法使用javascript模拟了一个基类、一个入口类和众多子类,首先检查是单一选择符还是带有唯一参数,单一选择符则直接调用常用扩展方法,带有唯一参数则通过入口类进行参数类型自动判断把控制权跳转到相应的子类,对于String类型可以同时进行DOM选择操作、Function类型也可以同时作为onload函数并与原类型扩展方法兼容。通过采用本方法把javascript对象与其常用函数和跨浏览器的方法整合到一起,使得操作这些对象变的更加简单、高效。在支持所有主流浏览器的基础上给现有的javascript编程提供了极大的便捷性、简易型和可扩展性。

【技术实现步骤摘要】

本专利技术属于计算机浏览器javascript编程领域,具体涉及一种对javascript对象的操作的方法:只使用一个选择符和至多一个参数的情况下,快速访问和处理任意javascript对象的方法。
技术介绍
随着Web开发的高速发展,人们对现代网页浏览的质量要求也越来越高,主流的Web前端开发语言为javascript脚本语言,然而由于javascript语言本身、各浏览器之间的不兼容等原因, 使得处理各种javascript对象变得非常困难,这种情况下不得不编写大量的函数来满足某种特殊的要求。但就算于此,函数与对象之间没有本质的关联也使得管理和使用这些函数的高效性大打折扣。因此,有必要提供一种方法来解决上述缺陷。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供了一种快速操作对象、对该对象的方法进行整合的方法。为了实现上述目的,本专利技术的技术方案是:用现有的javascript技术模拟一个基类、一个入口类和众多子类并按照一定的方式组织其中的继承关系,从而达到处理任意javascript对象的目的。其中继承关系如下: a.自定义StringObj 类、NumberObj 类、BooleanObj 类、DateObj 类、ArrayObj 类、RegExpObj类、EventObj类等子类继承自ObjectObj基类。b.自定义FunctionObj类继承自StringObj子类,间接继承自ObjectObj基类。 c.自定义入口类DomObj继承自FunctionObj子类,间接继承自StringObj子类、ObjectObj 基类。通过自定义一个选择符或带有一个参数的的形式进入本方法,例如:$(my0bj),其中$符号为选择符,myObj为需要处理的参数。其后的处理步骤如下:如果只有一个选择符没有参数,则直接调用常用扩展方法,如获取浏览器信息、执行Ajax操作、实例化自定义接口等等。例如:$.Ajax( “myUrl.php”,function (data){alert (data) ;});即可与 myUrl.php 页面进行 Ajax 交互。如果选择符后面带有一个参数,则实例化入口类DomObj对此参数进行typeof类型判断。如果参数是Number类型则返回自定义类NumberObj的实例,从而把对象控制权跳转到NumberObj类,进而对Number类型参数的处理函数就集中在了 NumberObj类。例如:$ (myNumber).toBoolean O ;把 myNumber 数字对象转换成 Boolean 类型。如果参数是Boolean类型则返回自定义类BooleanObj的实例,把控制权交给BooleanObj 来处理该对象。例如:$ (myBool).decode (function() {alert ( “true”);},function () {alert ( “false”);});格式化 myBool 对象进行相应操作。如果参数是String类型则默认尝试对该字符串按照CSS的标准规则进行DOM选择,并实例化入口类DomObj处理该字符串,由于DomObj间接继承自StringObj类,所以同样可以执行普通字符串相应的扩展操作。例如:$( Smyld^.scrollIntoViewO ;可以选择HTML文档中ID为“myld”的元素,并把其滑动到可见视图内。再例如:$(repeat (3);可以返回字符串 “#myld” 的 3 个副本:“#myld#myld#myld”。如果参数是Function类型则实例化DomObj并在DomObj中把其转换成onload函数,在页面加载完毕后执行,由于DomObj直接继承自FunctionObj类,所以也能对其进行一般性函数扩展操作,同时在实现扩展操作的内部取消onload函数的执行,达到与onload函数兼容的效果。例如:$ (function O {alert ( “onload”);});在页面加载完毕之后即执行该匿名函数。再例如:$ (myFunction).setlnterval (1000);可以对myFunction函数进行每一秒执行一次的操作,而其本身由于扩展函数在内部执行的时候已经取消了对应的window事件,所以其在页面加载完毕之后并不会执行。如果参数是Object类型则对其进一步执行instanceof类型检查。 如果是Element、HTMLDocument或Window其中的一种,则实例化入口类DomObj 中并对其进行 DOM 操作。例如:$ (document).addEvent ( “click”,function (){alert ( “dom”);});即可为document添加点击事件。如果是Date类型,则实例化DateObj,并可以对其进行Date类型相应的扩展操作。例如:$(myDate).toShortString( ;可以对其用指定的字符进行格式化该时间参数。如果是Array类型,则实例化ArrayObj,并可以对其进行Array类型相应的扩展操作。例如:$( “myArray”).last O ;即可快速得到myArray数组中的最后一项。其他各类型均如上所述的方法实现,在次不一一论述。如果该参数类型目前浏览器不支持,则由于所有的自定义子类都继承自基类ObjectObj,所以其仍然能够执行ObjectObj中对应的扩展方法,达到可以处理任意类型的目的。附图说明图1为本专利技术的自定义类的继承关系图。图2为本专利技术内部处理逻辑的流程图。具体实施例方式下面将结合附图对本专利技术的具体实施方式做进一步详细说明:图1示出了个自定义类的类型和相互之间的继承关系,其中主要分为三种类型:基类、入口类和子类。首先应该建立自定义基类,并在基类中建立相应的扩展方法。例如:本文档来自技高网...

【技术保护点】
一种使用一个选择符和至多一个参数处理javascript对象的方法,其特征在于:检查是单一选择符还是带有唯一参数;如果是单一选择符则直接调用常用扩展方法;如果带有唯一参数则进行参数类型判断,把控制权跳转到相应的子类,继而执行相应的扩展方法。

【技术特征摘要】
1.一种使用一个选择符和至多一个参数处理javascript对象的方法,其特征在于: 检查是单一选择符还是带有唯一参数; 如果是单一选择符则直接调用常用扩展方法; 如果带有唯一参数则进行参数类型判断,把控制权跳转到相应的子类,继而执行相应的扩展方法。2.根据权利要求1所述的对唯一参数进行参数类...

【专利技术属性】
技术研发人员:李宗申
申请(专利权)人:李宗申
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1