當我們今天要儲存個人的信息會使用到object,但仔細思考若有100位的話,是否太麻煩了
let persion1 = {
name: "Dennis",
age: 22,
phone: "090909090"
}
console.log(persion1)
//{ name: 'Dennis', age: 22, phone: '090909090' }
這個時候就需要Constructor來幫助我們建立一個實體物件,Constructor很像是一個模板,藉由不同的內容去創造多個不同的實體,是不是方便很多呢
function Person(name, age, phone){
this.name = name
this.age = age
this.phone = phone
}
let a = new Person("Dennis",22) //new 是關鍵字 建立一個Person的實體
console.log(typeof(Person)) //function
console.log(typeof(a)) //object
奇怪為什麼會有this?
function Person(name, age, phone){
this.name = name
this.age = age
this.phone = phone
this.fn = function(){
console.log(this)
}
}
let a = new Person("Dennis",22) //new 是關鍵字 建立一個Person的實體
a.fn()
/*
Person {
name: 'Dennis',
age: 22,
phone: undefined,
fn: [Function (anonymous)]
}
*/
結果我們透過fn的function來輸出什麼是this,結果就是指向目前的物件拉
最後來做個簡單的小應用吧
function Person(name, age, phone){
this.name = name
this.age = age
this.phone = phone
this.SayHi = function(){
console.log(`${this.name}說你好`)
}
}
let a = new Person("Dennis",22) //new 是關鍵字 建立一個Person的實體
a.SayHi() //Dennis說你好