区分 实例属性 原型属性 静态属性
程序员文章站
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
上一篇: swift属性分类、属性观察willSet-didSet
下一篇: 动态属性添加方法