温故而知新--ECMAScript and javascript基础二
来源:互联网 发布:jo平台抢购软件 编辑:程序博客网 时间:2024/05/15 05:53
ECMA多重继承支持:
function ClassX()...{
this.messageX="This is the X message.";
if(typeof ClassX._initialized=="undefined")...{
ClassX.prototype.sayMessageX=function()...{
alert(this.messageX);
};
ClassX._initialized=true;
}
}
function ClassY()...{
this.messageY="This is the Y message.";
if(typeof ClassY._initialized=="underfined")...{
ClassY.prototype.sayMessageY=function()...{
alert (this.messageY);
};
ClassY._ini8tiaized=true;
}
}
this.messageX="This is the X message.";
if(typeof ClassX._initialized=="undefined")...{
ClassX.prototype.sayMessageX=function()...{
alert(this.messageX);
};
ClassX._initialized=true;
}
}
function ClassY()...{
this.messageY="This is the Y message.";
if(typeof ClassY._initialized=="underfined")...{
ClassY.prototype.sayMessageY=function()...{
alert (this.messageY);
};
ClassY._ini8tiaized=true;
}
}
ClassX和ClassY类都是小类,都只有一个属性和一个方法。假设现有ClassZ类,需要继承者两个类。如下:
function ClassZ()...{
ClassX.apply(this);
ClassY.apply(this);
this.message="This is thie Z message.";
if(typeof ClassZ._initialized=="undefined")...{
ClassZ.prototype.inheritFrom(ClassX);
ClassZ.prototype.inheritFrom(ClassY);
ClassZ.prototype.sayMessageZ=function()...{
alert(this.messageZ);
};
ClassZ._initialized=true;
}
}
ClassX.apply(this);
ClassY.apply(this);
this.message="This is thie Z message.";
if(typeof ClassZ._initialized=="undefined")...{
ClassZ.prototype.inheritFrom(ClassX);
ClassZ.prototype.inheritFrom(ClassY);
ClassZ.prototype.sayMessageZ=function()...{
alert(this.messageZ);
};
ClassZ._initialized=true;
}
}
注意继承属性的两行代码(使用apply()方法)和继承方法的两行代码(使用inheritFrom()方法)。继承的顺序非常重要。测试代码如下:
var objZ=new ClassZ();
objZ.sayMessageX(); //outputs "This is X message."
objZ.sayMessageY(); //outputs "This is Y message."
objZ.sayMessageZ(); //outputs "This is Z message."
objZ.sayMessageX(); //outputs "This is X message."
objZ.sayMessageY(); //outputs "This is Y message."
objZ.sayMessageZ(); //outputs "This is Z message."
- 温故而知新--ECMAScript and javascript基础二
- 温故而知新--ECMAScript and javascript基础一
- JavaScript学习笔记二ECMAScript基础
- JavaScript(02): ECMAScript基础
- C#基础(二)(温故而知新)
- 《 JavaScript高级程序设计》第二章ECMAScript基础
- 温故而知新----javascript
- ECMAScript基础之二(第二章)
- JavaScript / ECMAScript
- javascript ECMAScript
- ECMAScript 基础
- ECMAScript基础
- ECMAScript 基础
- ECMAScript基础
- ECMAScript 基础
- ECMAScript基础
- JavaScript基础——ECMAScript的基础概念
- JAVASCRIPT基础学习篇(5)--ECMAScript Basic1(EcmaScript 基本类型)
- VIM + CTags/CScope
- 个人博客忧化与盈利,博客能赚多少钱?
- Linux编程常用的函数(六) PGSQL编程
- Google AdSense申请指南
- Spring笔记之一Bean的标志符(id与name)
- 温故而知新--ECMAScript and javascript基础二
- windows.open()参数列表(弹出窗口)
- Google Adsense 的秘密
- Linux编程常用的函数(七) MYSQL编程
- 如何避免Adsense违规封号
- 针式打印机进纸,退纸
- Linux编程常用的函数(八) 网络编程
- getint() sql
- 博客如何赚钱