在面向對象中有靜態成員和實例成員的概念,實例成員是指實例對象的成員,例如,上述代碼中的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。