欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

区分 实例属性 原型属性 静态属性

程序员文章站 2022-03-25 18:45:15
...
function klass(id){
 // 实例属性  
  this.id=id;
  this.pull = [];
}  

// 静态属性
klass.Uid=1; 

// 原型属性 [共有]
klass.prototype.names=[];
// 原型方法
klass.prototype.getPull = function () {console.info(this.pull)};
klass.prototype.setPull = function (a) {this.pull.push(a)} 
  
var obj1=new klass("obj1");  
var obj2=new klass("obj2");  
obj1.names.push(obj1.id); 
obj1.setPull(100);
obj1.getPull(); // [100]

klass.Uid++;  
obj1.names.push(obj2.id);  
klass.Uid++; 
obj2.setPull(101);
obj2.getPull();  // [101]
console.info(klass.prototype.names, obj1.names, obj2.names);  // ["obj1", "obj2"]  ["obj1", "obj2"]  ["obj1", "obj2"]
console.info(klass.Uid) // 3