javascript 类 构造函数和原型
来源:互联网 发布:oracle数据库无法连接 编辑:程序博客网 时间:2024/06/11 01:27
下面是一个类的例子。
javascript: function Rectangle(w,h){ this.width=w; this.height=h; }
Rectangle.prototype.area=function(){ return this.width*this.height; }
var rect1=new Rectangle(3,4);
rect1.area();
在例子里面,类的属性参考C++的显示声明,必须用this.指明。
在往类里面添加方法的时候,使用的是原型protoype 。
上面的例子属于自定义的类。参考自定义的类方法添加,系统自带的方法也是可以扩展的。
String.prototype.endsWith=function(c){return (c==this.charAt(this.length-1))}
这种扩展容易带来很多问题,除非解决兼容性问题,一般不会使用
function Circle(radius){
this.r=radius;
}
Circle.PI=3.14159;
Circle.prototype.area=function(){
return Circle.PI*this.r*this.r;
}
Circle.max=function(a,b){
if(a.r>b.r) return a;
else return b;
}
var c=new Circle(1.0);
c.r=2.2;
var a=c.area();
var x=Math.exp(Circle.PI);
var d=new Circle(1.2);
var bigger=Circle.max(c,d);
上面的例子主要是讲解类属性和实例属性,实例方法,类方法。
私有成员要使用闭包的方式来实现。
建立对象,通常要为对象提供一些通用的方法。这些方法在其他类中业存在。
toString()方法 将对象转化为字符串。
valueOf()方法 将对象转化为数字
比较方法
超类与子类
在继承关系中,子类要继承父类,需要在构造函数中显示引用父类的构造函数,设置子类的原型为父类,删除子类不需要的属性和方法,显示的声明子类的构造函数
构造函数链是指继承过程中构造函数的显示父类构造函数的引用。
继承式函数扩展
PositionedRectangle.prototype.toString=function(){
return "("+this.x+","+this.y+")"+this.superclass.prototype.toString.apply(this);
}
或者将this.superclass替换为Rectangle
非继承式函数扩展
借用其他类的方法,是因为函数也是变量。只提供借用方法的类称为混入类。
确定对象的类型
typeof 从对象中区分基本类型
instanceof 从对象中确定对象的类型
Object.toString()可以测试对象的类型
如果一个对象拥有了一个类的所有属性和方法,那么这个对象可以称为这个类的一个实例。
- javascript 类 构造函数和原型
- Javascript的类,构造函数和原型
- Javascript函数、构造函数、原型、类和对象
- javascript 学习笔记3-构造函数、类和原型
- javascript的构造函数和原型
- javascript的原型和构造函数
- JavaScript中的构造函数和原型对象
- javaScript构造函数和原型对象
- Javascript构造函数、原型、对象
- javascript中函数构造器和原型研究
- javascript原型对象、构造函数和实例对象
- 深入理解javascript构造函数和原型对象
- 深入理解javascript构造函数和原型对象
- JavaScript学习-组合使用构造函数和原型模式
- 深入理解javascript构造函数和原型对象
- JavaScript原型和闭包之---构造函数(二)
- JavaScript_类、构造函数和原型;
- 【JavaScript】JavaScript原型链之原型对象、实例和构造函数三者之间的关系
- 自定义UINavigationItem.rightBarButtonItem
- linux 开机启动脚本顺序
- mysql常用命令
- 二层交换机2950实验5---cisco 2950 端口聚合例子
- Js中replace()的用法
- javascript 类 构造函数和原型
- 解缩文件 zipFile支持中文
- 报错android.util.AndroidRuntimeException: You cannot combine custom titles with other title features
- 递归和递推解决爬楼梯问题
- 半素数
- SDK中都包含什么?
- 第一个项目UI界面设计完成---总结
- 编程珠玑--旋转算法
- Eclipse运行时提示failed to create the java virtual machine