更新時(shí)間:2021-12-15 來(lái)源:黑馬程序員 瀏覽量:
//定義類 class Person { constructor(name) { //構(gòu)造方法 this.name = name; //為新創(chuàng)建的對(duì)象添加name屬性 } } //利用類創(chuàng)建對(duì)象 var pl = new Person('張三'); //創(chuàng)建p1對(duì)象 var p2 = new Person('李四'); //創(chuàng)建p2對(duì)象 console.log(pl.name); //訪問(wèn)pl對(duì)象的name屬性 console.log(p2.name); //訪問(wèn) p2對(duì)象的 name屬性
在上述代碼中,constructor()構(gòu)造方法在使用類創(chuàng)建對(duì)象時(shí)會(huì)自動(dòng)調(diào)用,在調(diào)用時(shí)會(huì)將實(shí)例化的參數(shù)傳過(guò)來(lái)。在命名習(xí)慣上,類名使用首字母大寫(xiě)的形式。如果一個(gè)類中沒(méi)有編寫(xiě)Constructor()構(gòu)造方法,程序會(huì)在類中自動(dòng)創(chuàng)建一個(gè)constructor()構(gòu)造方法。
主類中可以編寫(xiě)所有對(duì)象共有的方法,示例代碼如下。
class Person { //構(gòu)造方法 constructor(name) { this.name = name; } say() { //在類中定義一個(gè)say()方法 console.log('你好,我叫' + this.name); } } var pl = new Person('張三'); Pl.say(); //輸出結(jié)果:你好,我叫張三
在上述代碼中,say()方法就是在類中定義的方法。在定義方法時(shí),不需要使用function關(guān)鍵字,并且多個(gè)方法之間不需要使用逗號(hào)分隔。在say()方法中,this表示實(shí)例對(duì)象,如果是調(diào)用了pl對(duì)象的say()方法,則this就表示pl, this.name表示pl.name。