Dojo语法精讲

Dojo 语法精讲

黄诚 整理

QQ 群: 65643887

第一句话 分号 ;

;(function(){

这是出现在 dojo.js 文件中的第 一句话。

它是来在每条语句结尾使用,表示语句结束的符号,其实有时候可能省略分号,解释器通常能正确识别 JavaScript 语句并执行。在 ECMAScript 标准 中,分号即使一个可选的符号来表示语句的结束。

虽然可选,但应该意识到这是为了方便非专业用户而准备的。因此在使用 JavaScript 开发专业的程序时,应该在每条语句的结束加上分号,这可以保证程序有良好的结构而且避免了一些不可预 知的错误:举例下面的就是由于省略了分号导致产生语法错误。

var a=1

/(b+)/.exec(“abbbc”)

alert(RegExp.$1)

这段代码第一行声明了一个变量并赋值为 1 ,第二行用正则表达式 提取一个字符串中的连续的 b 字符,第三行输出提取的字符串。尽管代码看上去正确,但执行时却会提示语法错误,原因在于第一行没 有以分号结尾,于是解释器继续向下解析,看能否和上一行形成合法的语意,当遇到斜杠 ”/” 时,解释器会认为这 是一个除法符号,因为它能够跟上一行后面形成合法的语意,但在继续解释第二行时则会发生错误,所以应该在第一行结尾上加上分号。告诉解释器语句已经结束。

 

dojo 全局变量的定义方 法。

(function(){

if(typeof dojo == "undefined"){

           this.dojo = {

                 _scopeName: "dojo",

                 _scopePrefix: "",

                 _scopePrefixArgs: "",

                 _scopeSuffix: "",

                 _scopeMap: {},

                 _scopeMapRev: {}

           };

      }

 

      var d = dojo;

….

})();

typeof 操作符号来获取一个变量所包含数据的类型,其语法为

typeof( 变量名或常量 )

例如:

var a = 1;

var b = 'true';

alert(typeof(a));

alert(typeof(b));

alert(typeof(dojo));

 

JavaScript 中一共有 9 种数据类型,分别是:

未定义

Undefined

Null

布尔

Boolean

字符串

String

数值

Number

对象

Object

引用

Reference

列表

List

 

JavaScript 中 的对象其实就是属性(方法)的一个集合,并没有严格意义上类的概念。所以它提供一个简单的方式类创建对应,即大括号 ({}) 语法:

{

property1:statement,

property2:statement2,

propertyN:statementN

}

通过大括号括住多个属性或方法及其定义(这些属性或方法用逗号割开),来实现对象的定义,这段代码就 直接定义个具有 n 个属性或方法的对象,其属性名和其定义之间用冒号(:)隔开。

 

this.dojo = {

                 _ scopeName : "dojo",

                 _scopePrefix: "",

                 _scopePrefixArgs: "",

                 _scopeSuffix: "",

                 _scopeMap: {},

                 _scopeMapRev: {}

           };

 

// 调用 dojo 对象的属性 scopeName

alert(dojo. scopeName);

匿名函数 定义语法。

正常的函数定义为:

function functionName([arguments]){

     Javascript statements

        [return expression]

}

其中的 functionName 可以省略,成为匿名函数。 一般定义匿名函数为 如下:

 

var max = function(a, b){

if(a>b) return a;

return b;

}

因为没有函数名称要使用它得直接定义一个变量传入结果。

 

dojo 定义的格式如下:

(function(){

         var mp = dojo.config["modulePaths"];

         if(mp){

                   for(var param in mp){

                            dojo.registerModulePath(param, mp[param]);

                   }

         }

})();

没有直接用变量调用而是通过全局变量 dojo 进行操作。

它外面的 (function(){})(); 语法表示一个匿名函数的定义。

var iii = (function(a,b){return a+b;})(1,2);

alert(iii);

后面的括号 (1,2) 表示创建完后立 即进行这个函数调用。结果是弹出 3 的结果。

iii 是表示返回的值, 而不是创建的函数,因为括号 ”(“ 比等号 ”=” 有更高的优先级。

这是为了在很长的代码段中进行模块化设计或者想避免命名冲突,这是一个不错的解决方法。

函数定义

函数定义有好几种。一种如下:

var func2 = function(…){…};

 

dojo 定义 isString 函数定义 方法如下:

 

dojo.isString = function(/*anything*/ it){

         //      summary:

         //               Return true if it is a String

         return !!arguments.length && it != null && (typeof it == "string" || it instanceof String); // Boolean

}

 

理解上面的语法,对 dojo 的调用也就没有什 么障碍了。

分三个包上传时,第三个包好像传不上去,我给整合了一下,打在一个包里上传了! dojo精品中文教程 Dojo.1.0 Practice Note [1] 什么是dojo 选择dojo的理由 AJAX架构之Dojo篇 Adding Ajax中文版 (DoJo) DOJO学习笔记(七)-日期控件DropdownDatePicker和DatePicker DOJO常用的验证函数 Dojo with Adobe AIR Dojo 工具包教程 Dojo 快速安装 Dojo和JSON建立无限级AJAX动态加载的功能模块树 Dojo学习笔记( 模块与包) Dojo学习笔记-- djConfig解说 Dojo学习笔记-- dojo.dom Dojo学习笔记-- dojo.event & dojo.event.topic & dojo.event.browser Dojo学习笔记--DateTextbox Dojo学习笔记--Dojo的基础对象和方法 Dojo学习笔记--FisheyeList鱼眼效果 Dojo学习笔记--TabContainer Dojo学习笔记--ValidationTextbox Dojo学习笔记--dijit.Dialog Dojo学习笔记--dijit.Menu Dojo学习笔记--dijit.TitlePane Dojo学习笔记--dijit.Tooltip Dojo学习笔记--dijit.Tree Dojo学习笔记--dojo.graphics.color & dojo.uri.Uri Dojo学习笔记--dojo.string & dojo.lang Dojo学习笔记--动态生成widget Dojo学习笔记--开发自己的TitlePane Dojo学习笔记--页面部分区域遮挡,DialogUnderlay Dojo学习笔记(五)-djConfig详解 dojo data 接口详解 dojo0.9 使用心得 dojo学习笔记(一)-dojo.io.IO & dojo.io.BrowserIO) dojo学习笔记(三) dojo学习笔记(二) dojo.lang.array & dojo.lang.func & dojo.string.extras dojo学习笔记(六)- ContentPane dojo学习笔记(四) dojo的拖拽示例以及疑问! 介绍dojo事件 使用 Dojo 工具包和 JSON-RPC 构建企业 SOA Ajax 客户端 利用Dojo实现拖动(Drag and Drop)效果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值