javascript 学习笔记(5) 继承
1. 某些基类如果不直接使用,而仅仅只是用于给子类提供通用的函数,这种情况下,基类被看作抽象类.
2. 在 javascript 的类中所有的方法和属性都是"公用的".
3. javascript 中的继承并不是明确规定的,而是通过模仿来实现的.有以下方法:
(1). 对象冒充
function A(sColor){
this.color = sColor;
this.showColor = function(){
alert(this.color);
};
}
function B(sColor,sName){
this.newMethod = A;
this.newMethod(sColor);
delete this.newMethod;
this.name = sName; //新的方法和属性要在删除了新方法的定 义后定义
this.showName = function(){
alert(this.name);
};
}
对象冒充方法可以支持多重类继承,也就是一个类可以继承于多个类
如果存在一个类 C 想继承类 A 和 B,只要这样:
function C(){
this.newMethod = A;
this.newMethod();
delete this.newMethod
this.newMethod = B;
this.newMethod();
delete this.newMethod
}
但是要注意如果 A 和 B 中存在同名的属性或者方法,则 B 具有高优先级,因为他是后面的类继承.
(2). call() 方法
function B(sColor,sName){
//this.newMethod = A;
//this.newMethod(sColor);
//delete this.newMethod;
A.call(this,sColor);
this.name = sName;
this.showName = function(){
alert(this.name);
};
}
(3). apply() 方法
function B(sColor,sName){
//this.newMethod = A;
//this.newMethod(sColor);
//delete this.newMethod;
A.apply(this,new Array(sColor));
this.name = sName;
this.showName = function(){
alert(this.name);
};
}
(4). 原型链,原型链不支持多重继承
function A(){
}
A.p
相关文档:
function f_MobilCheck(as_SourceString)
{
if(as_SourceString.match(/^13[0-9]{9}$/g)) return true; //手机号为13开头的11位数字
else if(as_SourceString.match(/^[0]{1}[0-9]{2,3}[2-8]{1}[0-9]{5,7}$/g)) return true; //小灵通为0开头的3-4位的区号+不以1和9开头的6-8位数字
retur ......
Dojo
一个强大的面向对象javascript框架。
主要由三大模块组成:Core、Dijit、DojoX。
Core提供 Ajax,events,packaging,CSS-based querying,animations,JSON等相关操作API。
Dijit ......
第三章 对象基础
在javaScript中,对象是无特定顺序的值的数组。
一、对象的类型
分为本地对象、内置对象和宿主对象三种,其中内置对象也属于本地对象。
二、本地对象:
1、Array类,数组类。
  ......
1. 一种面向对象语言需要开发者提供以下四种基本能力。
(1)封装---把相关信息(无论属性还是方法)存储在对象中的能力。
(2)聚集---把一个对象存储在另一个对象内的能力。
(3)继承---由另一个类(或多个类)得来类的属性或方法的能力。
(4)多态---编写能以多种方法运行的函数或方法的能力。
2. 把对象的所 ......
<script language="javascript" type="text/javascript">
// <!CDATA[
function Test()
{
document.location.href = 'test. ......