JS高階之建構函式

2021-10-24 18:24:02 字數 1151 閱讀 3947

先建立object物件,再動態新增屬性/方法

起始時不確定物件內部資料

語句太多

var a =

newobject()

p.name =

'tom'

p.age =

18p.

setname

=function

(name)

p.setname

('jack'

)console.

log(p.name,p.age)

<

/script>

使用{}建立物件,同時指定屬性/方法

起始時物件內部資料是確定的

如果建立多個物件,有重複**

var p =

}console.

log(p.name,p.age)

p.setname

('jack'

)console.

log(p.name,p.age)

<

/script>

通過工廠函式動態建立物件並返回

需要建立多個物件

物件沒有乙個具體的型別,都是object型別

function createperson(name,age)

}return obj

}var p1 =

createperson

('tom',12

)var p2 =

createperson

('bob',13

)console.

log(p.name,p.age)

console.

log(p.name,p.age)

<

/script>

自定義建構函式,通過new 建立物件

需要建立多個型別確定物件

每個物件都是相同的資料,浪費記憶體。

自定義建構函式,屬性在函式中初始化,方法新增到原型上

需要建立多個型別確定物件

js之建構函式

建構函式的執行流程 將通過該建構函式建立的物件稱為該類的例項 this的情況 function person name,age console.log this per var per new person 張三 18 var per1 new person 李四 28 per.say hello ...

JS高階 原型 建構函式的繼承

定義父類的person的建構函式 function person name 定義父類person的原型 person.prototype.sayname function 定義子類建構函式student function student name,age 子類繼承父類原型 子類student原型繼承...

js高階 傳統建構函式存在的問題

寫乙個建構函式 用來建立學生物件 屬性 姓名 年齡 身高 體重 行為 學習 吃飯 看片 把妹 function student name 如果建構函式沒有引數,那麼在呼叫的時候小括號可以省略 varstu newstudent 胡一天 stu.study varstu1 newstudent 沈悅 ...