日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

让JavaScript回归函数式编程的本质

發布時間:2024/4/13 javascript 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 让JavaScript回归函数式编程的本质 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? JavaScript是一門被誤會最深的語言,這話一點不假,我們看下它的發展歷史.

? ? 1995年,Netscape要推向市場,需要一門腳本語言來配套它.是使用一門已有的語言,還是發明一門新的語言,這也不是我能決定的.來自高層管理人員的強制命令是這門語言必須"看起來像Java".這樣也就排除了已有的語言Perl,Python,和Tcl,以及Scheme.

? ? 當時Netscape(網景)公司招了個程序員來干這件事情.他就是JavaScript之父Brendan Eich,Brendan Eich是個很聰明的小伙,很喜歡函數式編程,對Scheme相當在行.

? ? 事情是這樣的,當時如果這事讓Brendan Eich來干,那么現在所謂的JavaScript就是Scheme了,IT界將進步至少10年,腳本代碼那就是純純的函數式了,還可以用開發工具,用編譯器來做.當然腳本寫出來可能是這樣子的.

(begin ? (display"Hello, World!") ? (newline))

? ? 好多括號是不是.因為當時JAVA很流行,Brendan Eich的某位不懂技術的上司要求把JavaScript開發成象Java,但是Brendan Eich還是喜歡函數式編程.所以就成了這樣.

document.write("Hello World!");

標準的命令式,沒什么特殊的,函數式編程被埋在了傳統命令式的外殼之下.Brendan Eich還表示,如果他在十天內做不出JS,會產生另外一種更糟的語言?

? ?而這個給了Brendan Eich十天時間,并做得象Java樣的上司就是Rick Schell.一個糟糕的領導,毀掉的不是一個下屬,而是整個世界,相信寫過JS代碼人的都有這種痛苦的感受.

好在Brendan Eich畢竟是大牛,10天時間,給JS帶來了一些很爛的東西,但基本上精華的東西,還是都放上去了,就是Scheme所擁有的,這讓JS成為一門完整的函數式語言成為可能.

? ? 這里有兩個本人認為很關鍵的人物,第一個是:

Douglas Crockford是一名來自Yahoo!的資深JavaScript架構師,以創造和維護JSON (JavaScriptObject Notation) 格式而為大家所熟知

? ?他根據JS的靈感創造了JSON,JS+JSON,好用多了吧,還給出了JS精粹,告訴我們怎樣用好JS.對JS進行裁減,只用一個最好的部分集合.真是貢獻.

? ?另一個就是,Jeremy Ashkenas, 它給出了Underscore.js這樣一個JS的最底層函數式編程基礎庫,通過JS的基本功能,包裝了大量的函數式特性.補完了JS的函數式編程支持.當然他的貢獻不僅僅這點,他甚至還繼續創造了CoffeeScript

CoffeeScript 是一套 JavaScript 的轉譯語言。受到 Ruby、Python 與 Haskell 等語言的啟發[1],CoffeeScript 增強了 JavaScript 的簡潔性與可讀性。此外,CoffeeScript 也新增了更復雜的功能,例如列表內涵(List comprehension)、模式匹配(Pattern matching)等。一般來說,CoffeeScript 可以在不影響執行效能的情況下,縮短約三分之一的程式碼長度[3]。自從2011年6月以來,CoffeeScript 已經是 GitHub 上最受矚目的專案之一。

? ?這下JS化身為CS, CoffeeScript終于補完了函數式編程,語法更簡潔,而且是編譯式的.這就讓寫JS的錯誤變的更少了,編譯出來的代碼就是JS.

? 當然,還有幾個不得不提的東西,就是在Underscore.js的基礎上,有人又開發出了JQuery,BackBone這樣的JS庫.讓JS可以做更復雜的應用了.

? 經過補完后的的JS,就象是被打磨后的鉆石,終于發出了它的光芒,已經值得用它來些一些應用程序了.當然,事情遠不止于此.

? JS語言層面補完了,也有了Jquery這樣的庫,但這點東西,做應用還是遠不夠的.

? 最近出了個叫Node.JS的東西,它可以用JS寫后臺,還有個Angular等類似的東西,可以用來寫前端的框架.

? 至此,JS語言的后端,前端框架和支撐平臺都得到了補完,可以真正做應用了.至少開發所需要的東西足夠.

? 但是.

?

?

總結

以上是生活随笔為你收集整理的让JavaScript回归函数式编程的本质的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。