dojo/_base/declare模块
来源:互联网 发布:java true false类型 编辑:程序博客网 时间:2024/04/30 08:30
该模块用于声明一个类,模仿java创建类方式。
declare(className,superclass,props);第一个参数可以省略,后面两个参数是必须的。第二个参数值可以为null.
声明的格式:
var myclass=declare(null,{});或者declare("myclass",null,{});
上面哪种声明的格式都是可以的,我一般用第一种。
注解:该类的第三个参数,对象其实是js中的prototype(原型对象),用于创建类时的继承。
例如:
创建一个类,包含一个构造方法,类似java中的类。
var myClass=declare(null,
{
a:12,
id:"第一个类",
constructure:function(name,age)
{
this.name=name;
this.age=age;
}
myfun:function(value)
{
this.value=value;
}
});
var myClass2=declare(myClass,
{
id:"第二个类"
});
在例子中创建了myClass、myClass2两个类,myClass2继承了myClass。
1.在myClass中可根据构造函数创建对象var obj1=new myClass("小李",20);,创建对象后,对象中就会出现新的初始化的属性。
2.可以不同过构造函数直接创建对象,var obj2=new myClass();这样创建后就不会出现新的属性。
详细分析:在创建的类的第三个参数是prototype对象,
myClass类中的原型对象为:
{
a:12,
id:"第一个类",
constructure:function(name,age)
{
this.name=name;
this.age=age;
}
myfun:function(value)
{
this.value=value;
}
}
myClass2的原型对象:
{
id:"第二个类"
}
其实,一个类中的属性和方法由两部分组成,1.一部分是外部定义的属性和方法,不能用于继承,可以说成私有的属性和方法。
例如;this.name="";this.myfun=function(){}形式,
2.另一部分是内部定义的属性和方法,即原型对象,用于继承。可以说成一般的属性和方法。
declare()方法中的第三个参数对象就是原型对象。
通过类创建对象后两部分的属性和方法都可以调用。与js中创建类的方法原理是相同的。
- dojo/_base/declare模块
- DOJO 基本原理 之 dojo/_base/declare<7>
- dojo/_base/window模块
- dojo/_base/lang模块
- Classy JavaScript with dojo/_base/declare
- dojo动画效果模块详述——dojo._base.fx
- dojo AMD开发之dojo/_base/html
- dojo.declare说明
- dojo.declare函数相关
- dojo.declare 详解
- dojo.mixin、dojo.extend、dojo.declare
- dojo.declare/dojo.provide/dojo.require:JavaScript模块化管理工具
- dojo.declare/dojo.provide/dojo.require:JavaScript模块化管理工具
- dojo.declare/dojo.provide/dojo.require:JavaScript模块化管理工具
- dojo学习日记(6)——dojo/_base/fx的 fadeOut()方法
- dojo.declare函数详述(转载)
- dojo.declare函数详述(转载)
- dojo.declare函数相关(转)
- 最小生成树——普利姆算法(prim)
- pt-online-schema-change 过程详解
- 170722考试
- PHP优化加速之Opcache使用总结
- VS打开白屏
- dojo/_base/declare模块
- DPM在windows下配置并使用自己标定的数据进行训练
- 前端调试工具
- 一步步教你怎么把vue项目部署到Node服务器上
- 单链表的操作(C语言描述)
- Leetcode 第二章线性表--2.2 单链表--2.2.1 add two numbers--2017/7/25
- AtCoder Grand Contest 018 F
- 剑指Offer——(40)数组中只出现一次的数字
- 大数据分布式集群搭建(8)