javascript是腳本語言?javascript萬物皆對象?
呵呵噠!帶你見識(shí)下js面對對象的魅力
是的是的,退后,朕要開始裝逼了~
這是什么鳥東西?是的是的,裝逼開始,2016年度最佳JS編譯器,ES6標(biāo)準(zhǔn)出來后,小伙伴們對新特性摩拳擦掌,奈何瀏覽器支持把我們拉回現(xiàn)實(shí),不得不面對瑟瑟發(fā)抖的ES5,不禁心中多出幾分感慨!
ES5又怎樣,照樣可以寫出優(yōu)美的代碼:
一般你可以這樣寫一個(gè)計(jì)時(shí)器
嗯,看起來合情合理,想要調(diào)用方法就timer.f_timer() 一下 然后獲取timer.n規(guī)規(guī)矩矩,沒瑕疵。但是實(shí)際想想:timer 里面的屬性跟timer 也沒有什么區(qū)別,他們的可訪問性跟timer是一樣的如果timer是全局,里面的屬性也是全局的要改里面的n 隨便改改。
嗯,這樣改:
哦,構(gòu)造函數(shù),可是這樣寫就又不是很好,timer1.f_time 和 timer2.f_time ?的是互相獨(dú)立的,每使用 new 運(yùn)算符調(diào)用 timer(),就會(huì)生成一個(gè)新的對象并生成一個(gè)新的函數(shù)綁定在這個(gè)新的對象上,每構(gòu)造一個(gè)新的對象瀏覽器就要開辟一塊空間,不是我想要的裝逼!其實(shí)最好就是?timer1.f_time 和 timer2.f_time 指向同一個(gè)函數(shù)對象
退后,我要放大招了:寫js怎么能不用prototype裝逼呢,走起~
嗯,合情合理,有逼格又有效率,然而又能怎樣
裝逼怎能少的了新東西-
Typescript上場
是的,你可以這樣優(yōu)雅的寫類了。在js:
怎樣,C#還有java的同學(xué)熟悉不,類的繼承,面向?qū)ο笠粦?yīng)俱全,哈哈,當(dāng)然編譯出來的是這樣的
裝逼結(jié)束,收工,記得贊贊贊~~~~