`

深入分析dwr中的DWRUtil.$

    博客分类:
  • Ajax
阅读更多

  from:http://blog.csdn.net/pwlazy/archive/2006/06/29/847713.aspx

为了更好的使用dwr的util.js,了解 $是必须的

/**
 * Find the element in the current HTML document with the given id or ids
 * @see http://getahead.ltd.uk/dwr/browser/util/$
 */
var $;

//如果浏览器支持document.getElementById那么进入下面的if块
//IE和firefox都是支持的
if (!$ && document.getElementById) {
 //将$定义为一个函数
  $ = function() {
    //定义一个数组
    var elements = new Array();
    //遍历$函数传入的参数
    for (var i = 0; i < arguments.length; i++) {
      var element = arguments[i];
       //如果参数类型为string,那么通过document.getElementById(element);得到一个对象否折无需转化
      if (typeof element == 'string') {
        element = document.getElementById(element);
      }
      
      //如果参数只有一个那么直接返回参数或者document.getElementById(element);函数结束
    
      if (arguments.length == 1) {
        return element;
      }
       //否则将参数对象或经过转化的对象放入数组
      elements.push(element);
    }
    //参数为多个,则返回数组
    return elements;
  }
}
//倘若浏览器不支持document.getElementById,那么判断是否支持document.all的用法,如果支持则进入下面////的代码段,代码段里面的内容和上面的if段雷同,就不再赘述了
//IE支持document.all,但在firefox下不好用
else if (!$ && document.all) {
  $ = function() {
    var elements = new Array();
    for (var i = 0; i < arguments.length; i++) {
      var element = arguments[i];
      if (typeof element == 'string') {
        element = document.all[element];
      }
      if (arguments.length == 1) {
        return element;
      }
      elements.push(element);
    }
    return elements;
  }
}

 总结
1) 作者通过使用$函数使代码能跨浏览器支持,也就是说你甚至可以使用$(id)或者$(name)的方式获取对象
    (如果浏览器不支持document.getElementById而只支持document.getElementById,使用$(name)是合适的),作者在源代码也都是这样使用的
2)作者在源代码中大量使用$(x),如果x为string(通常是个id),那么返回该id代表的对象,否则直接返回该对象
3) 注意在页面中必须谨慎使用$,不要使用$作为变量 ,很有可能回覆盖前面的函数定义,到时候可能会有奇怪的现象发生

 

分享到:
评论

相关推荐

    Dwr入门Demo

    现在,让我们深入探讨"Dwr入门Demo"中的关键组件: 1. **DWR配置**:在项目中,你需要配置`dwr-engine.js`和`dwr-config.xml`。`dwr-engine.js`是客户端库,提供调用服务器端方法的API。`dwr-config.xml`则定义了...

    dwr demo ajax

    通过深入分析这个“dwr demo ajax”项目,你可以掌握如何在实际项目中使用DWR来实现Ajax功能,理解其工作原理,以及如何与其他技术(如Maven、Servlet、Spring等)进行集成。这将有助于提升你在Web开发领域的专业...

    Dwr无刷新分页.rar

    通过分析和实践提供的实例代码,可以深入理解DWR如何与服务器进行通信,以及如何在前端实现动态分页效果。同时,这也涉及到前端状态管理、数据绑定和DOM操作等技能,对提升全栈开发能力大有裨益。

    DWR 技术文章精选

    这个“DWR技术文章精选”压缩包文件包含了关于DWR的相关资料,可能是博客文章、笔记或者教程,帮助我们深入理解DWR的核心特性和使用方法。 1. **DWR 概述**: DWR 是一种AJAX框架,它通过JavaScript与Java进行通信...

    测试dwr

    通过分析这些文件,我们可以深入理解DWR的工作原理,以及如何将其应用于实际项目中。 DWR的优势在于简化了AJAX开发,提供了更友好的API,使得开发者可以像操作本地对象一样操作服务器端对象。同时,DWR还支持自动...

    dwr3.0反向实例

    在"DWR 3.0反向实例"中,我们将深入探讨这个版本的新特性、配置过程以及如何通过一个简单的Clock实现来演示其工作原理。 DWR 3.0相对于早期的2.0版本,引入了一些重要的改进,包括性能提升、错误处理机制的优化以及...

    Dwr例子带注释

    Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态Web应用程序。...这个简单的例子可以帮助你快速上手DWR,为后续深入学习和实践打下基础。

    DWR级联菜单下拉框

    通过对这些文件的分析和学习,我们可以深入理解DWR如何与数据库交互,以及如何构建动态的前端界面。 总之,DWR级联菜单下拉框是利用DWR和AJAX技术实现的动态交互功能,它简化了前后端通信,提供了更流畅的用户体验...

    ajax 的dwr框架的一个简单的demo

    DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行直接交互,实现...通过分析和学习这个项目,开发者可以深入理解DWR的工作原理,并将其应用到自己的Web开发项目中。

    dwr消息推送详细步骤

    在本文中,我们将深入探讨如何使用DWR实现服务器到客户端的消息推送。 1. **DWR基本概念** DWR的核心功能是提供一种方式让Java方法可以直接调用JavaScript函数,反之亦然。这使得服务器能够实时地向浏览器发送数据...

    DWR综合资料与JAR包

    5. **部分源码**:这部分资料可能包含了一些示例代码或者实际项目中的应用,通过阅读和分析源码,开发者可以更深入地了解DWR的实际工作流程,以及如何在实际项目中有效地利用DWR。 学习DWR的过程中,你需要掌握以下...

    dwr示例代码,绝对好用

    Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而...通过分析`dwrtest`中的代码,你可以深入理解DWR的工作原理和用法,从而在自己的项目中应用这些知识。

    dwr程序

    通过分析这个示例,我们可以更深入地理解DWR的工作原理及其在实际项目中的应用。 总之,DWR作为一种强大的工具,能够简化Ajax开发,使开发者可以更高效地构建交互性强的Web应用程序。通过学习和实践这个简单的DWR...

    DWR入门demo

    通过深入学习和实践这个"DWR入门demo",你将能够掌握如何在Web应用中集成DWR,以及如何利用它来构建更互动、更动态的用户界面。同时,你也将了解到DWR在实际项目中的应用和优势,为进一步的RIA开发打下坚实基础。

    dwr应用

    标签 "源码" 和 "工具" 提醒我们,这篇博文可能涵盖了DWR的源代码分析,以及如何将DWR作为开发工具来提升效率。DWR的源码对于开发者来说是一个很好的学习资源,可以理解其内部机制,进行定制化开发或者调试。而作为...

    DWR学习资料汇总(PDF)

    3. **DWR API:**掌握DWR提供的主要API,如`DWRUtil`工具类,以及`RemoteObject`和`Batch`接口,理解它们在实际开发中的作用。 4. **映射与安全:**了解如何设置DWR的映射文件(dwr.xml),定义允许客户端访问的...

    dwr demo src

    Direct Web Remoting (DWR) 是一个开源的Java库,它...通过深入研究"DWR Demo Src",开发者不仅可以掌握DWR的基本用法,还能了解到如何在实际项目中优化性能,提升用户体验。这将对开发基于Java的Web应用程序大有裨益。

    DWR应用示例源代码,很好地说明了dwr工作原理

    在这个"DWR应用示例源代码"中,我们可以深入理解DWR的工作原理及其实际应用。 DWR的核心概念包括三个主要部分:`dwrc.js`(客户端库)、`DWR Engine`(服务器端组件)和`Servlet`(DWR引擎的入口点)。以下是对这些...

    DWRDemo ajax

    综上所述,DWRDemo是一个很好的学习平台,通过实践它可以让你深入了解DWR如何实现与AJAX类似的功能,以及如何在实际项目中应用DWR技术。通过深入研究和实践,你将能够熟练掌握DWR,为你的Web应用带来更流畅、实时的...

Global site tag (gtag.js) - Google Analytics