JavaScript对象继承方法
来源:互联网 发布:域名被劫持自动被跳转 编辑:程序博客网 时间:2024/05/22 04:42
JavaScript对象继承方法
【JavaScript继承】
1. 对象冒充
function ClassA(sColor){
this.color = sColor;
this.sayColor = function(){alert(this.color);};
}
function ClassB(sColor,sName){
this.newMethod = ClassA;
this.newMethod(sColor);
delete this.newMethod;
this.name = sName;
this.sayName = function(){alert(this.name);};
}
2. call()方法,第一个参数用作this的对象,其他参数都直接传递给函数自身
function sayColor(sPrefix, sSuffix){
alert(sPrefix + this.color + sSuffix);
}
var obj = new Object();
obj.color = "red";
sayColor.call(obj, "The color is ", ", a very nice color indeed.");
//与继承机制的对象冒充方法一起使用该方法
function ClassB(sColor,sName){
ClassA.call(this, sColor);
this.name = sName;
this.sayName = function(){alert(this.name);};
}
3. applay()方法有两个参数,用作this的对象和要传递给函数的参数的数组
function sayColor(sPrefix, sSuffix){}
var obj = new Object();
obj.color = "red";
sayColor.apply(obj, new Array("The color is ","a very nice color indeed."));
//另一方法
function classB(sColor,sName){
ClassA.apply(this, arguments);//把ClassB整个arguments对象传递
this.name = sName;
this.sayName = function(){alert(this.name);};
}
//只有超类中的参数顺序和子类中的完全一致才可以传递参数对象,如果不是就必须创建一个单独的数组,按照正确顺序放置参数,此外,还可以使用call()方法
4. 原型链方法
function ClassA(){}
ClassA.prototype.color = "red";
ClassA.prototype.sayColor = function (){alert(this.color);};
function ClassB(){}
ClassB.prototype = new ClassA();(调用ClassA()时记得没有传递参数,要确保构造函数没有任何参数)
//之后才添加属性
ClassB.prototype.name = "";
ClassB.prototype.sayName = function(){alert(this.name);};
5. 混合方法(最合理)
function ClassA(sColor){this.color = sColor;}
ClassA.prototype.sayColor = function(){alert(this.color);};
function ClassB(sColor,sName){
ClassA.call(this,sColor);
this.name = sName;
}
ClassB.prototype = new ClassA();
ClassB.prototype.sayName = function(){alert(this.name);};
参考资料:http://hi.baidu.com/yhsdyuan/item/1591e93844d5b6ed1b969691
- JavaScript对象继承方法
- JavaScript面向对象继承方法
- javaScript面向对象继承方法实现
- javascript中五种实现对象继承的方法
- JavaScript 原型对象的继承方法
- javascript基础:对象的继承、添加对象方法
- JavaScript面向对象的方法实现继承:call方法
- Javascript对象继承
- Javascript对象继承
- JavaScript面向对象------继承
- javascript 对象继承
- JavaScript中对象继承
- javascript对象继承详解
- JavaScript面向对象---继承
- javascript 对象继承
- javascript对象的继承
- javaScript 面向对象-继承
- JavaScript面向对象------继承
- 综合型外贸B2B网站内链结构建设分享
- HTTP协议
- GNC C __attribute__机制
- 该如何正确建立SEO着陆页面?
- 二值矩阵是否有完全种系树
- JavaScript对象继承方法
- ADF中SelectOneChoice设置默认值
- 网站优化的重中之重是什么?
- 初学http协议内容
- java网络编程1
- linux sort命令
- 深入浅出设计模式(21)——Template Method模式
- 使用MFC快速实现网络编程 CAsyncSocket
- gstreamer 的安装