现在的位置: 首页 > 综合 > 正文

《dojo 边学边用》(05),委托和继承 ,(dojo.delegate 以及dojo.provide 和 dojo.declare)

2012年10月14日 ⁄ 综合 ⁄ 共 852字 ⁄ 字号 评论关闭

委托和继承
dojo.delegate 和 dojo.declare 

 

 

 

 

 

 

dojo.declare

 

dojo.declare方法提供了一种处理类的基本能力,理解这种能力非常重要。
因为Dijit在这种能力基础上衍生出了一种创建部件的灵活模式,该模式能够自动完成部件创建过程中的所有细节。

dojo.declare方法的API

dojo.declare(/*String*/ className,
/*Function | Function[]*/ superclass,
/*Object*/ props )

提供了声明构造函数的一种简洁方式. 其中,参数className是要创建的构造函数的名字/通俗的说就是你要声明的类名,而参数superclass既可以使一个Function对象,也可以是一个Function对象的数组,用于表示当前类所要继承的超类。如果没有超类,需要用null,占位。另外,参数props是一个对象,其中的属性将被复制到构造函数/通俗的说就是你要声明的类名的prototype属性中。【类名按照约定,首字母大写!如下面的Validate。】

实际上,dojo 中的 declare是在extend、mixin和delegate等方法的基础上提供了一种更复杂的抽象机制,从而能够实现单独使用这几种模式无法实现的效果。

dojo.declare("Validate", null, {

phone:
function (phoneNumber) {
return phoneNumber + 2;
},
tel:
function (telNumber) {
return telNumber + 1;
}
});


var v = new Validate();
alert(v.phone(
5) +"\n"+ v.tel(5));

 

声明了了一个验证类,添加了对phone手机号码 和 tel固定电话号码 的验证方法,如果是手机号码就+2返回,如果是电话号码就+1返回。
测试一下,是好使的!但是这个不是declare的标准用法!

下面开始讲解dojo.declare的标准用法!

 

抱歉!评论已关闭.