ExtJS之面向工具编程根基常识
副标题#e#
1:支持定名空间
<script type="text/javascript">
// 界说 一个定名空间
Ext.namespace("Ext.wentao");
// 在定名空间上界说一个类
Ext.wentao.helloworld = Ext.emptyFn;
// 建设一个类的实例
new Ext.wentao.helloworld();
</script>
个中
Ext.wentao.helloworld = Ext.emptyFn;
等价于
Ext.wentao.helloworld = function(){};
2:支持类实例属性
<script type="text/javascript">
Ext.namespace ("Ext.wentao"); // 自界说一个定名空间
Ext.wentao.Person = Ext.emptyFn; // 在 定名空间上自界说一个类
// 为自界说的类 增加一个 name 属性,并赋值
Ext.apply (Ext.wentao.Person.prototype, {
name : "刘文涛"
});
var _person = new Ext.wentao.Person();// 实例化 自界说类
alert(_person.name);
_person.name = "张三";// 修改类name属性
alert(_person.name);
</script>
3:支持类实例要领
<script type="text/javascript">
Ext.namespace("Ext.wentao"); // 自界说 一个定名空间
Ext.wentao.Person = Ext.emptyFn; // 在定名空间上自界说一个类
// 演示 类实例要领
Ext.apply(Ext.wentao.Person.prototype, {
name : "刘文涛",
sex : "男",
print : function() {
alert(String.format("姓名:{0}, 性别:{1}", this.name, this.sex));
}
});
var _person = new Ext.wentao.Person();// 实例化 自界说类
_person.print();
</script>
4:支持类静态要领
<script type="text/javascript">
Ext.namespace("Ext.wentao"); // 自界说一个定名空间
Ext.wentao.Person = Ext.emptyFn; // 在定名空间上自界说一个类
// 演示类实例要领
Ext.apply(Ext.wentao.Person.prototype, {
name : " 刘文涛",
sex : "男",
print : function() {
alert (String.format("姓名:{0},性别:{1}", this.name, this.sex));
}
});
// 演示 类静态要领
Ext.wentao.Person.print = function(_name, _sex) {
var _person = new Ext.wentao.Person();
_person.name = _name;
_person.sex = _sex;
_person.print(); // 此处挪用类 实例要领,上面print是类 静态要领
};
Ext.wentao.Person.print("张三", "女"); // 挪用类 静态要领
</script>
#p#副标题#e#
5:支持结构要领
<script type="text/javascript">
Ext.namespace("Ext.wentao"); //自界说一 个定名空间
//结构要领
Ext.wentao.Person = function(_cfg){
Ext.apply (this,_cfg);
};
//演示类实例要领
Ext.apply (Ext.wentao.Person.prototype, {
print:function(){
alert(String.format("姓 名:{0},性别:{1}",this.name,this.sex));
}
});
//演示 类静态要领
Ext.wentao.Person.print = function(_name,_sex){
var _person = new Ext.wentao.Person ({name:_name,sex:_sex});
_person.print(); //此处挪用类 实例要领,上面print是类 静态方 法
};
Ext.wentao.Person.print("张三","女"); //挪用类 静 态要领
</script>
6:支持类担任
<script type="text/javascript">
Ext.namespace("Ext.wentao"); // 自界说一个定名空间
// *******************父类*********************
// 结构 要领
Ext.wentao.Person = function(_cfg) {
Ext.apply(this, _cfg);
};
// 演示类实例要领
Ext.apply(Ext.wentao.Person.prototype, {
job : "无 ",
print : function() {
alert(String.format("姓名:{0},性别:{1},脚色: {2}", this.name,
this.sex, this.job));
}
});
// *******************子类1*********************
Ext.wentao.Student = function(_cfg) {
Ext.apply(this, _cfg);
};
Ext.extend(Ext.wentao.Student, Ext.wentao.Person, {
job : "学生"
});
var _student = new Ext.wentao.Student({
name : "张三",
sex : "女"
});
_student.print(); // 挪用 父类要领
</script>
7:支持类实例 要领重写
<script type="text/javascript">
Ext.namespace ("Ext.wentao"); // 自界说一个定名空间
// *******************父类 *********************
// 结构要领
Ext.wentao.Person = function(_cfg) {
Ext.apply(this, _cfg);
};
// 演示类实例要领
Ext.apply (Ext.wentao.Person.prototype, {
job : "无",
print : function() {
alert(String.format("姓名:{0},性别:{1},脚色:{2}", this.name,
this.sex, this.job));
}
});
// *******************子类1*********************
Ext.wentao.Student = function(_cfg) {
Ext.apply(this, _cfg);
};
// 重写父类的 实例 要领
Ext.extend(Ext.wentao.Student, Ext.wentao.Person, {
job : "学生",
print : function() {
alert(String.format("{0}是一位{1}{2} ", this.name, this.sex,
this.job));
}
});
var _student = new Ext.wentao.Student({
name : "张三",
sex : "女"
});
_student.print(); // 挪用 父类要领
</script>
8:支持定名空 间别名
#p#分页标题#e#
<script type="text/javascript">
Ext.namespace("Ext.wentao"); // 自界说一个定名空间
Wt = Ext.wentao; // 定名空间的别名
// *******************父类*********************
// 结构方 法
Wt.Person = function(_cfg) {
Ext.apply(this, _cfg);
};
// 演示 类实例要领
Ext.apply(Wt.Person.prototype, {
job : "无",
print : function() {
alert(String.format("姓名:{0},性别:{1},脚色:{2}", this.name,
this.sex, this.job));
}
});
// *******************子类 1*********************
Wt.Student = function(_cfg) {
Ext.apply(this, _cfg);
};
// 重写父类的 实例 要领
Ext.extend(Wt.Student, Ext.wentao.Person, {
job : "学生",
print : function() {
alert(String.format("{0}是一 位{1}{2}", this.name, this.sex,
this.job));
}
});
var _student = new Wt.Student({
name : "张q三",
sex : "女"
});
_student.print(); // 挪用 父类要领
</script>
9:支持种别名
<script type="text/javascript">
Ext.namespace("Ext.wentao"); // 自界说一个定名空间
Wt = Ext.wentao; // 定名空间的别名
// *******************父类*********************
// 结构要领
Wt.Person = function (_cfg) {
Ext.apply(this, _cfg);
};
PN = Wt.Person; // 种别名
// 演示类实例要领
Ext.apply(PN.prototype, {
job : "无",
print : function() {
alert(String.format("姓名:{0},性别:{1},脚色:{2}", this.name,
this.sex, this.job));
}
});
// *******************子类 1*********************
Wt.Student = function(_cfg) {
Ext.apply(this, _cfg);
};
ST = Wt.Student;
// 重写父类的 实例 要领
Ext.extend(ST, PN, {
job : "学生",
print : function() {
alert(String.format("{0} 是一位{1}{2}", this.name, this.sex,
this.job));
}
});
var _student = new ST({
name : "张q三",
sex : "女"
});
_student.print(); // 挪用 父类要领
</script>