javascript是腳本語言?javascript萬物皆對象座韵?
呵呵噠险绘!帶你見識下js面對對象的魅力
是的是的,退后誉碴,朕要開始裝逼了~
這是什么鳥東西宦棺?是的是的,裝逼開始翔烁,2016年度最佳JS編譯器渺氧,ES6標準出來后,小伙伴們對新特性摩拳擦掌蹬屹,奈何瀏覽器支持把我們拉回現(xiàn)實侣背,不得不面對瑟瑟發(fā)抖的ES5,不禁心中多出幾分感慨慨默!
ES5又怎樣贩耐,照樣可以寫出優(yōu)美的代碼:
一般你可以這樣寫一個計時器
嗯,看起來合情合理厦取,想要調用方法就timer.f_timer() 一下 然后獲取timer.n規(guī)規(guī)矩矩潮太,沒瑕疵。但是實際想想:timer 里面的屬性跟timer 也沒有什么區(qū)別虾攻,他們的可訪問性跟timer是一樣的如果timer是全局铡买,里面的屬性也是全局的要改里面的n 隨便改改。
嗯霎箍,這樣改:
哦奇钞,構造函數(shù),可是這樣寫就又不是很好漂坏,timer1.f_time 和 timer2.f_time ?的是互相獨立的景埃,每使用 new 運算符調用 timer(),就會生成一個新的對象并生成一個新的函數(shù)綁定在這個新的對象上顶别,每構造一個新的對象瀏覽器就要開辟一塊空間谷徙,不是我想要的裝逼!其實最好就是?timer1.f_time 和 timer2.f_time 指向同一個函數(shù)對象
退后驯绎,我要放大招了:寫js怎么能不用prototype裝逼呢完慧,走起~
嗯,合情合理剩失,有逼格又有效率屈尼,然而又能怎樣
裝逼怎能少的了新東西-
Typescript上場
是的蛤织,你可以這樣優(yōu)雅的寫類了。在js:
怎樣鸿染,C#還有java的同學熟悉不,類的繼承乞巧,面向對象一應俱全涨椒,哈哈,當然編譯出來的是這樣的
裝逼結束绽媒,收工蚕冬,記得贊贊贊~~~~