zoukankan      html  css  js  c++  java
  • 什么是Dojo

    Dojo是一个非常强大的面向对象的JavaScript的工具箱, 建议能够去复习一下JavaScript下如何使用OO进行编程的, 这对于你以后阅读Dojo Source有很大的用处。

    请下载dojo 0.3.1, 以下的说明均针对此版本

    1: 把Dojo加入到我们的Web程序中

    1.1 标志

    <script type="text/javascript">
    djConfig = { isDebug: false };
    </script>

    djConfig是Dojo里的一个全局对象, 其作用就是为Dojo提供各种选项, isDebug是最常用的属性之一, 设置为True以便能够在页面上直接看到调试输出, 当然其中还有些属性与调试有关, 这里就不啰嗦了。

    1.2 引用 dojo 的启动代码

    <script type="text/javascript" src="/yourpath/dojo.js" />

    这样你就引用了dojo的代码, 并可以直接使用其中部分常用的对象, 下载下来的dojo.js是压缩(remove comments and space)后的代码, 要阅读的话,建议阅读dojo.js.uncompressed.js, dojo.js大概有127K, 而未压缩前有211K, ok, 为什么会这么大呢, 原来其已经把部分常用的模块整合进dojo.js里, 因此显得大了一点, build.txt里就说明了默认的dojo.js包含了哪些模块。

    1.3 声明你所要用到的包

    <script type="text/javascript">
    dojo.require("dojo.math");
    dojo.require("dojo.io.*");
    dojo.require("dojo.widget.*");
    </script>

    你就把这些代码当成是java的import语句或C#中的using语句一样, 如果你不require的话, 而模块本身又没有整合在dojo.js中, 是会出现脚本错误的喔。

    2. 针对不同需求提供的预整合包

    Dojo本身是由许多模块所组合而成的, 但是由于用户需求的多样性, dojo针对不同的需求而提供了不同的版本, 用户在下载dojo的时候就看见可以选择很多的版本, 比如Ajax版和Widget版, 每个版本最重要的区别就在于dojo.js文件, 但是除此之外, 每一个版本都是全功能的, dojo.js根据版本的不同而整合进了不同的模块

    3. 直接获取Dojo的最新源代码

    ......

    “模块”的概念

    Dojo的代码被划分为逻辑单元称之为模块, 这有点类似于Java中的package,除了dojo的模块能够包含类 (类似于java中的classes)和简单函数,比如: 模块"dojo.html"包含了一系列的函数, 比如dojo.html.getContentBox(), 模块"dojo.dnd"包含了一系列的HtmlDragObject的类。注意名称约定, 函数的首字母为小写字母,类的首字母为大写。模块也可以称之为"命名空间"

    “包”的概念

    在多数情况下, dojo的模块只需要定义在一个文件就可以了, 但有时, 一个模块可能划分到多个文件, 比如: 模块dojo.html, 本来是定义在一个文件中, 可是由于功能的增强, 文件逐渐变大, 我们不得不将其拆分为多个文件, 这主要是为性能考虑, 以便浏览器可以只下载其需要用到的代码, 不幸的是其实现细节对于dojo的用户看起来不那么透明, 你必须知道你想要用到的功能到底是包含在哪个文件, 然后才能require并使用它,这样的每一个文件都称之为一个包。

  • 相关阅读:
    程序编译的四个阶段
    c++的符号表的肤浅认识
    git高级用法之cheery-pick
    rust 使用国内镜像,快速安装方法
    protobuf 的enum与string转换
    c++ 获取GMT 时间和字符串
    proto3 不支持内建类型的非空判断即 hasXXX
    cmake 中的 compile_commands.json 文件
    整数划分问题(记忆化搜索和DP方法)
    查找系列合集-二分查找
  • 原文地址:https://www.cnblogs.com/soundcode/p/2117538.html
Copyright © 2011-2022 走看看