講師回答 / Bosn
直接調(diào)用對象的toString方法一般都沒有什么特別意義。需要自己去做處理。例如:var student = {? ? 'age' : 23,? ? 'name' : 'Bosn',? ? 'toString' : function() {console.log(this.age, this.name);}};student.toString(); //??23 "Bosn"
2015-02-17
講師回答 / Bosn
Array.prototype.func這個(gè)屬性不存在呀call方法是任何函數(shù)對象都有的,因?yàn)楹瘮?shù)對象原型鏈上都有Function.prototype對象,該對象提供了call/apply/bind這些方法。
2015-02-10
講師回答 / Bosn
不使用new調(diào)用函數(shù),就是正常的函數(shù)調(diào)用,return值作為返回值,若沒有return語句則返回undefined。<...code...>使用new調(diào)用函數(shù),函數(shù)將作為構(gòu)造器,調(diào)用時(shí)函數(shù)內(nèi)的this會指向以foo.prototype為原型的對象,若無return語句或return返回的不是對象,則將this作為返回值。<...code...>
2015-02-06
講師回答 / Bosn
一般對于某種類型t1,首次進(jìn)入時(shí)countMap沒有t1屬性,所以會返回undefined,則初始化默認(rèn)設(shè)置為1.而后每次出現(xiàn),都+1.最后統(tǒng)計(jì)沒種類型的出現(xiàn)次數(shù),若全部相同,則同構(gòu)。
2015-01-30
講師回答 / Bosn
你的問題太多太零散了,我挑重點(diǎn)的回答下。prototype是函數(shù)對象默認(rèn)就會有一個(gè)對象屬性。本身也是對象,它的作用是:作為通過new 構(gòu)造函數(shù)調(diào)用時(shí)產(chǎn)生的對象的原型。JS是基于原型鏈繼承的,和Java/C#這種基于類繼承的語言有很大不同,后面OOP會展開講解,不是一句兩句說得清楚的。感興趣也可以自己查閱JavaScript OOP相關(guān)資料。函數(shù)是對象并不只是JavaScript這樣做,這叫做first class function(第一類函數(shù))特性,很多語言都有。百度一下。
2015-01-29