一類和函數(shù)
ES5中類和函數(shù)定義方式差不多,
ES6中才出現(xiàn)了class
函數(shù)是一串邏輯的組合,
類是除了封裝了邏輯之外,還有邏輯之間的關(guān)系。
調(diào)用類中的函數(shù)不加括號(hào),會(huì)直接把函數(shù)返回。
默認(rèn)情況下,this等于window對(duì)象,當(dāng)函數(shù)作為類的構(gòu)造函數(shù)或者作為類當(dāng)中的函數(shù)運(yùn)行時(shí),this等于運(yùn)行函數(shù)類的實(shí)例。
函數(shù)作為類使用時(shí),在調(diào)用時(shí)需要使用new關(guān)鍵字,而這個(gè)函數(shù)叫做構(gòu)造函數(shù)。
構(gòu)造函數(shù)的返回值只能為空或者object,當(dāng)返回為空(非object)時(shí),new關(guān)鍵字得到的是類的實(shí)例,當(dāng)返回object時(shí),new關(guān)鍵字得到的是該object。
二類的原型
prototype
通過(guò)原型可以擴(kuò)展類的功能
三this和原型的區(qū)別
this和prototype的區(qū)別,this指向的是類的實(shí)例,對(duì)類實(shí)例的修改只影響該實(shí)例本身,而類的prototype屬性,代表的是類的定義,對(duì)prototype的修改會(huì)影響所有該類的定義。