小记javascript: 实例变量,实例方法; 类变量,类方法

阅读更多

javascript 摸拟 class

以及 实例变量,实例方法; 类变量,类方法

function Circle(r){
this.r = r; // this.r 这里它变就实例变量
}

Circle.PI = 3.14 // 类方法,只能在Circle上调用
Circle.prototype.area=function(){
 return this.r * Circle.PI;
} // 实例方法


Circle.max = function(a,b){
  return a.r > b.r ? a : b
} // 类方法

 

有时候我们大概也需要用到 私有属性

第一个“发明”的人据说是Douglas Crockfork, 想出这方法也挺绝的。

function Circle(r) {
   this.r = function() { return r; }
}

//之后r的值将不会被外界改变。
Circle.PI = 3.14;

Circle.prototype.area = function() {
  return Circle.PI * this.r() * this.r();
}

var c = new Circle(1.22);
// 以下情况都不能改变 半径的 值
c.r = function(){return 3333}
c.r = 2222;

//如此一来可以保证r的值不小心给改变了。
 

你可能感兴趣的:(JavaScript,prototype,C,C++,C#)