< p >Javascript 是一門動態的、解釋型的編程語言,有著廣泛的應用領域。在Web前端開發中,Javascript 扮演著非常關鍵的角色。其中類的概念也是Javascript中一個非常基礎且重要的概念,也是Javascript面試時必考的知識點。接下來我們將會詳細探討類的相關試題和答案。< /p >< p >Q1: 如何用 Javascript 聲明一個類?< /p >< pre >class MyClass{
constructor(name, age){
this.name = name;
this.age = age;
}
sayHello(){
console.log("My name is "+ this.name + ",I'm " + this.age + " years old.");
}
}
const obj = new MyClass('Tom', 20);
obj.sayHello();< /pre >< p >聲明一個類,首先需要使用class關鍵字,后面緊跟類名以及一個constructor方法,構造方法用于接收對象參數。 也可以在類中聲明其他方法,在方法中可以使用 this 關鍵字來表示類中的屬性。調用也非常簡單,直接實例化后調用即可。< /p >< p >Q2: 如何在類方法中使用靜態屬性和方法?< /p >< pre >class Animal{
static type = '動物'; // 靜態屬性
static info(){ // 靜態方法
console.log('這是一個' + Animal.type);
}
type;
constructor(type){
this.type = type;
}
getInfo(){
console.log('這只是一頭' + this.type);
}
}
const dog = new Animal('狗');
dog.getInfo(); // 這只是一頭狗
Animal.info(); // 這是一個動物< /pre >< p >靜態屬性和方法通常用于類整體的操作,而不是實例化后單個對象的操作。可以使用static關鍵字在類中聲明靜態屬性和方法。靜態屬性和方法可以直接使用類名來調用。< /p >
Q3: JavaScript 中的繼承是如何實現的?
< pre >class Animal { constructor(name) { this.name = name; } eat() { console.log(this.name + " eat food."); } } class Dog extends Animal { constructor(name) { super(name); } sayHello() { console.log(this.name + " say hello."); } } const dog = new Dog('小狗'); dog.eat(); // 小狗吃飯。 dog.sayHello(); // 小狗say hello.< /pre >
在JavaScript中,繼承是通過 extends 關鍵字來實現的。子類可以調用父類中的方法和屬性,同時還可以在子類中添加自己的方法和屬性。子類必須在構造函數中調用 super() 方法,否則將拋出錯誤。super() 用來調用父類的構造函數,得到父類中的屬性和方法。在子類中可以調用 super.eat() 來調用父類的 eat() 方法。如果子類中有和父類中相同的方法名,子類會覆蓋父類的方法。< /p >
下一篇oracle 左聯接