8 回答

TA貢獻(xiàn)22條經(jīng)驗(yàn) 獲得超21個(gè)贊
function?Book(title,pages,isbn){ ????this.title?=?title; ????this.pages?=?pages; ????this.isbn?=?isbn; } var?b1?=?Book(1,?2,?3);??????//?Book?是函數(shù) var?b2?=?new?Book(4,?5,?6);??//?Book?是類(lèi) console.log(b1.title);?//?TypeError:?Cannot?read?property?'title'?of?undefined console.log(b2.title);?//?4
這樣,就區(qū)分了類(lèi)與函數(shù)

TA貢獻(xiàn)22條經(jīng)驗(yàn) 獲得超21個(gè)贊
用 new 實(shí)例化就是一個(gè)類(lèi),不用 new 的時(shí)候只是一個(gè)普通的函數(shù)

TA貢獻(xiàn)5條經(jīng)驗(yàn) 獲得超1個(gè)贊
你的理解是對(duì)的,看到評(píng)論就知道很多人對(duì)這個(gè)理解錯(cuò)了,js中沒(méi)有嚴(yán)格意義上類(lèi)的概念,但它有構(gòu)造函數(shù)的概念,就是首字母大寫(xiě)的函數(shù)(當(dāng)然也可以小寫(xiě),但這是規(guī)范問(wèn)題),有了構(gòu)造函數(shù)也就是說(shuō)你可以通過(guò)new的方式來(lái)得到實(shí)例,那么這個(gè)實(shí)例就可以訪問(wèn),title,pages,isbn等形參了。這個(gè)就是創(chuàng)造對(duì)象的方法之一,另外一種方式是工廠模式,你也可以結(jié)合起來(lái)理解。

TA貢獻(xiàn)785條經(jīng)驗(yàn) 獲得超332個(gè)贊
不要想那么難,所謂的javascript里的類(lèi)和java一樣,你要知道對(duì)應(yīng)的就是type這個(gè)英文單詞,而類(lèi)即使類(lèi)型的簡(jiǎn)稱而已。。。聲明了一個(gè)函數(shù)就是你相當(dāng)于定義了書(shū)這個(gè)類(lèi)型。。并把它作為函數(shù)去使用了而已。。。

TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超0個(gè)贊
肯定有類(lèi)啊,這個(gè)函數(shù)的功能就是用來(lái)給類(lèi)進(jìn)行實(shí)例賦值的啊,而且你的book類(lèi)的屬性起碼包括了title,pages和isbn

TA貢獻(xiàn)361條經(jīng)驗(yàn) 獲得超191個(gè)贊
先理解這一段話:任何函數(shù),function aaa(){},當(dāng)創(chuàng)建var b=new aaa()的時(shí)候,b的實(shí)例指向a的原型,(b可以調(diào)用a的屬性和方法)這時(shí)我們把a(bǔ)aa函數(shù)稱為構(gòu)造函數(shù),構(gòu)造函數(shù)首個(gè)字母一般用大寫(xiě)表示,所以我們這么寫(xiě):function Aaa(){};
然后JS本身并沒(méi)有類(lèi)的概念,但是我們用構(gòu)造函數(shù)可以模擬出類(lèi)的效果,所以你可以把構(gòu)造函數(shù)看成類(lèi);

TA貢獻(xiàn)189條經(jīng)驗(yàn) 獲得超236個(gè)贊
添加回答
舉報(bào)