1、構造函數也是一個普通函數,創建方式和普通函數一樣,但構造函數習慣上首字母大寫
2、構造函數和普通函數的區別在於:調用方式不一樣。作用也不一樣(構造函數用來新建實例對象)
3、調用方式不一樣
普通函數的調用方式:直接調用 person();
構造函數的調用方式:需要使用new關鍵字來調用 new Person();
4、構造函數的函數名與類名相同:Person( ) 這個構造函數,Person 既是函數名,也是這個對象的類名
5、內部用this 來構造屬性和方法
function Person(name,job,age){
this.name=name;
this.job=job;
this.age=age;
this.sayHi=function()
{
alert("Hi")
}
}
6、構造函數的執行流程
立刻在堆內存中創建一個新的對象
將新建的對象設置爲函數中的this
逐個執行函數中的代碼
將新建的對象作爲返回值
7.普通函數例子:因爲沒有返回值,所以爲undefined
8、用instanceof 可以檢查一個對象是否是一個類的實例,是則返回true;所有對象都是Object對象的後代,所以任何對象和Object做instanceof都會返回true
class Child extends Father{
// Child.__proto__=Father;
constructor(name:string,age:number,money:number){
super(name,age,money);
}
getName(){
console.log(this.name);
}
getAge(){
console.log(this.age);
}
}