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
相关文档:
浏览器对象
浏览器对象就是网页和浏览器本身各种实体元素在JavaScript程序中的体现。这样的浏览器对象主要包括以下几个
● Navigator:管理者当前使用浏览器的版本号、运行的平台以及浏览器使用的语言等信息。
● Windows对象:处于整个从属表的最顶级位置。每一个这样的对象代表一个浏览 ......
// 学习要想拷贝那么快就好了
//
// JavaScript 的继承是基于 prototype 的,每个对象的 prototype 是保存在对象的 __proto__ 属性中的,这个属性是内部(internal)的属性( 惯例是内部的或者隐藏的属性以 _ 开头)
// A prototype-based language has the notion of a prototypical object, an object used as a template ......
1.document.formName.item('itemname')的问题
说明:IE下可以使用document.formName.item('itemname')和document.formName.elements('elementsName');
FF下只能使用docuement.formName.elements('elementsName');
解决方法:统一使用docuement.formName.elements('elementsName');
2.集合类对象问题
说明:IE下可以使用[]和 ......
日前做项目,需要把页面的JS代码抽出来放到一个.js文件中,由于flex程序是以div+SWFObject的方式嵌入到页面的,为了达到目标网站只需要引用一个.js文件即实现引用项目工程的目的,所以也要把SWFObject的代码放到.js文件中。
思路是用document.write()把引用swf文件的代码写进页面,然后把flex要调用的js函数都放到.j ......
在看了W3C的关于ECMScript的对象及继承后,先是完成贪吃蛇的实现。最近又抽空实现了下俄罗斯方块。对于俄罗斯方块重要的不是游戏本身,而是在这个过程中对于javascript继承的使用。
当然在一些对象的划分及使用过程还存在瑕疵,算法也不算最优,发布出源码只是想做个交流。以下就提供源代码供大家参考,也为自己做个备份。 ......