在面向对象中有静态成员和实例成员的概念,实例成员是指实例对象的成员,例如,上述代码中的pl.name就是实例成员;而静态成员是指通过类或构造函数访问的成员,不需要创建实例对象就能访问。下面我们来演示静态成员的添加和访问。
function Person (uname) {
this.uname = uname;
}
Person.school=‘x大学'; // 添加静态属性school
Person.sayHello = function () { // 添加静态方法sayiHiello
console.log('Hello');
};
console.Log (Person.school); // 访问静态属性,输出结果:x大学
Person.sayHello (); //访问静态方法,输出结果:Hello
需要注意的是,在静态方法中不能使用this访问实例对象,因为静态方法与实例对象没有关联,在静态方法中如果使用this,访问到的是构造函数本身,即Person。