javascript中模拟java类

来源:互联网 发布:sql查询去掉重复记录 编辑:程序博客网 时间:2024/06/07 06:22
/* *Complex.js *定义了Complex类,用来描述复数 *复数是实数和虚数的和,并且虚数i是-1的平方根 *//* *这个构造函数为它所创建的每个实例定义了实例字段r和i *这两个字段分别用来保存实数的实部和虚部 *他们是对象的状态 */ function Complex(real, imag){  if(isNaN(real) || isNaN(imag)) {    throw new TypeError();  }  this.r = real;  this.i = imag; } /* *类的实例方法定义为原型对象的函数值属性 *这里定义的方法可以被所有的实例继承,并为他们提供共享的行为 *需要注意的是,javascript的实例方法必须使用关键字this *来存取实例的字段 */  Complex.prototype.toString = function(that) {  return "{"+this.r+","+this.i+"}"; };/* *类字段 */ Complex.ZERO = new Complex(0,0);Complex._format = /^\{([^,]+),([^}]+)\}$/;/* *类方法 */ Complex.parse = function(s) {  try{    var m =  Complex._format.exec(s);    return new Complex(parseFloat(m[1]),parseFloat(m[2]));  }catch(x){    } } var c = new Complex(2,3); console.log(c); console.log(Complex.parse(c.toString()));

原创粉丝点击