JS在构造函数和实例化时涉及到的3种属性,分别是静态属性、原型属性和实例属性。
- 静态属性
function Foo() {
}
var f1=new Foo();
Foo.count = 0; //静态属性
Foo.count++;
console.log(f1.count);//undefined
console.log(Foo.count);//1
静态属性也可以说对象的私有属性,只能通过Foo.count(类名.属性)的方式访问,而实例是无法访问的。
- 原型属性
function Foo(name) {
};
var f1 = new Foo('f1');
Foo.prototype.count = 0;//原型属性
Foo.prototype.count++;
console.log(Foo.prototype.count);//1
console.log(f1.count);//1
原型属性是构造函数和实例都可以访问的,两种访问方式:
- Foo.prototype.属性