據(jù)說,在程序界晕翠,“面向?qū)ο蟆笔且粋€高富帥的標(biāo)志喷舀,有了“面向?qū)ο蟆钡恼Z言,更加的收到追捧和認可淋肾。比如我們的富二代C++硫麻,老少通吃的明星語言Java,移動新貴Objective-C巫员,國民哥哥python庶香,都是大家公認的高富帥。Javascript也是人盡皆知简识,經(jīng)掣弦矗活躍在各種大大小小的場合。它的風(fēng)格像老爺爺C七扰,大家都覺得不像一個高富帥(面向?qū)ο螅┑钠肺渡萋福圆簧偃艘詾樗皇莻€跑腿(面向過程)的。殊不知颈走,它也是一個名符其實的公子哥膳灶,那么就讓我們來扒一扒它的身世。
在了解js的身世之前,我們有必要知道什么樣才叫“面向?qū)ο蟆蹦兀?/p>
具有這幾個特性的:封裝轧钓、繼承和多態(tài)序厉,就是面向?qū)ο蟆?/p>
大家知道,那些公認的高富帥都有一個共同秘密武器毕箍,叫做類弛房,通過類可以輕松實現(xiàn)這三點《蹋可是js沒有類啊文捶。。媒咳。
可是誰說過實現(xiàn)面向?qū)ο笠欢ǖ靡蓄惔馀牛款愔皇谴蠹覍W(xué)了Java這些主流面向?qū)ο笳Z言后先入為主的概念,“類”和“面向?qū)ο蟆辈⒉皇且壴谝黄鸬纳琛J聦嵤峭缍郎嫌袃蓷l路可以通往面向?qū)ο蟮氖ネ粒舜蠹沂熘年栮P(guān)大道“類”之外妙同,還有另一條蹊徑斧抱,叫做“原型”。而js就是走了這條小路的人渐溶。
基于“類”的面向?qū)ο蠛突凇霸汀钡拿嫦驅(qū)ο笥惺裁床煌兀?/p>
它們的形式上確實是不一樣的,但是這種不一樣并不是重要弄抬,就像兩種語言的語法不同茎辐,沒有誰好誰壞,因為它們實現(xiàn)的目的都是相同的掂恕。
如果實在想?yún)^(qū)別一下拖陆,那么基于“類”的面向?qū)ο笙袷桥R摹,先有一個范本(就是類)懊亡,照著范本的樣子我再創(chuàng)建一個副本(對象)依啰。基于“原型”的