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