国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

重思JavaScript的JavaScript

移動開發
一個只花了10天就開發完成的腳本語言,自從誕生開始,就一直成為人們爭論的焦點。盡管這樣,它在編程語言中地位仍然無法動搖,全世界有幾百萬學習者和粉絲。

最近,我和許多程序員一樣,對JavaScript進行重新探討。事實上,JavaScript是一個非常有能力的語言,但使用新JavaScript一年后,我得出的結論卻是JavaScript仍然很爛。我并不是在討論其古怪的比較運算。而是從更深的層次去思考。與此同時,還會提供一些解決方案供你選擇。


 

[[106567]]


 

直奔主題

13歲時,父親送給我第一本編程書籍——JavaScript初學者編程。讓我興奮的是,我發現電腦并不單單是由電線和發條所組成,里面的代碼清晰明了。我覺得我基本上理解它了,實際上也差不多。終究,代碼除了人類理性思想的形式化還能是什么?

說實話,我當時希望遇到的是Java,我甚至在谷歌上搜索:“JavaScript和Java是同一種語言嗎?”當然不是。所以Java成為了我學習的第二門語言,不過我母親和繼父不希望在家庭電腦里安裝軟件,所以我無法安裝Java編譯器。我清晰地記得,在把代碼上傳到一個在線編譯器之前,得反復檢查代碼,然后等待、下載jar包……

我當時認為,JavaScript是一個非常嚴肅的語言。在Notepad里新建一個HTML文件,然后在IE里打開,就這樣開始了。沒有類、沒有私有和公有方法,沒有final變量。當時,我甚至不知道什么叫“過度設計”,但它準確地描述了我印象中的Java:

  • 無需編譯
  • 無處不在的開發平臺
  • 沒有高級語言特性
  • 查看源文件

為什么這么偉大的語言還會討人厭?

Ad-hoc地獄

下面是一些問題:設計之匆忙、初衷僅僅實現簡單的網頁互動、JavaScript繼承完全缺乏設計指導,一切都是ad-hoc:

  1. 沒有OOP:JavaScript確實存在基本的對象模型,但幾乎無人知道它是如何工作的。
  2. 沒有標準庫:從論壇上復制粘貼代碼不好玩。
  3. 沒有模塊系統:不斷查找下載鏈接和很長的源文件。
  4. 缺乏語言資源:沒有高品質的資源(幾乎沒有一本像樣的書籍)意味著你只能從論壇或博客上獲得一些非官方的參考。

既然JavaScript有這么多缺陷,到底是什么讓它如此流行?

復興

JavaScript崛起的背后可能與谷歌V8引擎息息相關。JavaScript突然變得很快,真正地快速。所以人們開始硬著頭皮使用它來編寫Web應用程序。

然而,Node.js推出了一些更吸引人的基準,允許代碼在客戶端和服務器端重用,很像MeteorDerby。因此,情況開始好轉:

  1. 下載按鈕變得更大
  2. Node.js kind of sort of standardized an import system
  3. 人們可以編寫更好的庫
  4. 優秀的資源開始出現

然而:

  1. 仍然沒有采用OOP
  2. 客戶端和服務端的JavaScript仍然沒有關聯
  3. 文檔甚至是高知名度項目文檔也很糟糕

為什么?

我認為現代JavaScript仍然較爛的根源是其處在一個特定的社區氛圍中,該氛圍一直強調:JavaScript是一門非常好的語言,但卻一直被人誤解。不,JavaScript只是一個提早誕生且沒有先例可循的語言。停止包庇并且開始把JavaScript作為一個平臺去擁抱,作為一個編譯目標。

文檔

人們可以盡情嘲笑Java,但當我看Java文檔時,我可以非常明確地知道哪個對象可以創建、每個方法里的參數、需要拋出的異常等。最好的事情莫過于使用JavaScript庫作為精選示例代碼。這幾乎是不可能寫出正確的軟件,除非你閱讀庫源碼。甚至連如此完整的JavaScript項目Express也存在令人生厭的API文檔(Ember他們那些非常優秀的API文檔可能是反例)。

語法糖

JavaScript社區很快就拋棄了語法糖。語法糖是極富創造力的。將重復邏輯代碼抽象出來,可以通用,幫助程序員以更好的方式編寫代碼。

  • 讓代碼更加簡潔
  • 有助于表達代碼背后的意思,而不是算法。我已經知道了數組迭代算法,好吧,謝謝你,但是請你不要告訴我這些,我只想知道你要做的東西。

作為一名編碼人員,你的主要觀眾不是電腦,而是其他程序員,也包括將來的自己。書寫冗長的for循環很爽,但說實話,for (var i=0; i<arr.length; i++)與for e in arr 比起來,人們更愿意讀后者。順便說一下,這里的JavaScript版的循環比CoffeeScript速率要慢,你知道為什么嗎?

JSLint

如果程序員使用JavaScript尚未感到痛苦,那JSLint成功做到了這點,而且非常“成功”! 想象一下,在某個編碼的新兵訓練營里,想要對JavaScript進行尷尬的懲罰,然后在其身上進行拔毛,這好比是拿著牙刷在刷廁所。事實上,我寧愿從牦牛身上拔毛。這是原文中的例子,小編的理解是JSLint的出現是給JavaScript挑刺的,而這樣還不如直接在JavaScript身上拔毛。


 

[[106568]]


 

更值得注意地是,作為程序員,我們應該尋找自動化,難道你不希望自己可以自動化JSLint嗎?當然,你可以。CoffeeScript可以***的生成linted代碼,正如Jeremy。

OOP

JavaScript對象模型還是不夠成熟,原型(Prototype)繼承是一個低級別的功能,可以創建一些非常有意義的對象模型,但卻無法基于本身進行構建。

這也可能是JavaScript API為什么會那么糟糕的原因,當你所使用的語言甚至沒有類時,該如何記錄面向對象代碼呢? 最重要的是,當我們甚至不知道實例化對象時,JavaScript開發人員該如何實行互操作?

有什么可選項嗎?

年復一年,筆記本逐步成為主流、政壇也發生了不少的變化,而JavaScript仍然保持不變。你愿意等一些基本特性多少年?在這篇悲觀論調的文章里,讓我們先看看下面這個列表:

  1. Mozilla發布了自己JavaScript1.7或1.8,前者是在6年半之前發布的,且不向后兼容,但并無人使用且永遠不會有,同樣也適用于后者。
  2. ECMAScript Harmony。最近,由于設計委員會的原因,發布新版ECMAScript將會有一個極其緩慢和痛苦的過渡過程,特別是它有一些特效是與JavaScript不兼容的。沒有解決方案,除非你愿意再等數十年。

下面列出一些可選項

  1. CoffeeScript語法非常漂亮且支持類。我認為CoffeeScript并未結束,只不過是剛剛華麗地開啟。
  2. TypeScript一種編譯到JavaScript的語言,可以在JavaScript中構建并且添加了靜態類型。個人而言,我是它的大粉絲。正如Mohamed Mansour和Dave Hodder在評論中指出的那樣,TypeScript正在進一步實施ECMAScript的一些建議,也許ECMAScript最終會從TypeScript中借鑒可選的靜態類型。
  3. Google Dart一個全新的語言,附帶JavaScript編譯器和一些JavaScript互操作,但整體上并未整合到JavaScript生態系統中。
  4. HaXe這是一個高級語言,可以編譯JavaScript、Flash、NekoVM、PHP、C++、C#和Java(不久后),雖然我從未使用過,但它真的令人印象深刻。

總結

***,我敢押注,最終的獲勝者肯定是編譯為JavaScript的語言。雖然我們還沒真正準備好這樣的過渡,但是所取得的進展仍是有目共睹的。盡管也存在些偏離,但他們正在替未來的Web發展鋪平道路。不管最終哪門語言會勝出,我都想強調一下我的主要觀點:JavaScript目前仍然存在許多不足,我們需要擁抱一個新語言并且推進它。

責任編輯:冰凝兒
相關推薦

2024-11-28 10:09:06

2012-08-10 10:15:50

HTML5

2015-08-11 09:46:26

JavaScriptDOM編程重排

2011-05-25 14:23:55

Javascriptthis

2014-03-11 23:10:35

JavaScriptJS

2011-10-20 15:56:07

Dart

2013-04-07 09:57:45

CouchbaseMySQLNoSQL

2021-05-14 00:00:15

JavaScript開發代碼

2011-05-25 10:03:00

JavaScriptwith

2015-07-20 16:41:16

MongoDBJavaScript

2014-01-03 09:13:39

JavaScriptthis

2018-01-03 13:06:13

JavaScript成本開發

2009-06-09 22:07:24

Javascript缺

2012-12-18 10:03:22

JavaScriptWebJS

2013-05-08 10:36:07

JavaScriptJS詳解JavaScrip

2009-07-14 14:12:14

Javascript

2021-04-07 10:12:05

Javascript對象拷貝開發

2011-08-10 10:27:47

思杰XenServer 6

2009-06-09 21:54:26

傳遞參數JavaScript

2011-07-19 13:29:50

JavaScript
點贊
收藏

51CTO技術棧公眾號

免费大片在线观看www| 一区二区三区伦理| 蜜桃免费在线| 日韩偷拍自拍| 日韩一区二区三区四区五区 | 青青草综合网| 亚洲精品孕妇| 国产伦精一区二区三区| 成+人+亚洲+综合天堂| 午夜在线视频观看日韩17c| 国产乱码精品一区二区三区忘忧草| 蜜桃一区二区三区在线| 亚洲精品激情| 国产凹凸在线观看一区二区| 成人永久aaa| 亚洲欧美日韩一区二区 | 亚洲一区二区三区| 日本系列欧美系列| 色一情一乱一乱一91av| 亚洲精品视频播放| 日韩精品视频免费| 日韩最新在线视频| 国产精品你懂得| 精品免费一区二区三区| 日本高清免费不卡视频| 日韩精品一区二区三区swag | 日本一区二区三区视频免费看| 视频国产在线观看| 我要色综合中文字幕| 青春有你2免费观看完整版在线播放高清 | 在线综合视频| 久久这里只精品最新地址| 日韩欧美在线一区二区三区| 国产精品自在线| 亚洲mv在线看| 免费成人黄色| 午夜激情久久| 午夜精品一区二区三区电影天堂| 国产一区二区三区视频| 热久久免费国产视频| 青青草原网站在线观看| 韩国中文字幕av| 国产精品一二三产区| 日本高清久久| 亚洲永久免费精品| 午夜激情综合网| 国产精品丝袜白浆摸在线| 一区二区在线高清视频| wwwcom羞羞网站| 高清在线视频不卡| 欧美尿孔扩张虐视频| 久久久青草婷婷精品综合日韩| 久久九九99视频| 99re这里只有精品视频首页| 成人涩涩免费视频| 高清不卡在线观看av| 亚洲欧美自拍偷拍色图| 久久久久久久久久看片| 操91在线视频| 日韩精品一区二区三区四区五区| 国产情侣av自拍| 无遮挡在线观看| 久久亚洲国产| 亚洲免费色视频| 91po在线观看91精品国产性色| 免费看毛片的网址| 三级成人黄色影院| 国产成人av在线影院| 亚洲毛片在线观看| 日韩精品久久一区二区| 精品欧美日韩精品| 99国产精品一区| 欧美一级视频免费在线观看| 一级在线观看| 懂色av一区二区三区蜜臀| 最近日韩中文字幕中文| caoporn超碰国产公开| 欧美特黄一区| 中文字幕日韩欧美在线| 69堂免费视频| 激情婷婷综合| 99re这里只有精品视频首页| 国产精品高潮呻吟久久av无限| 黄色漫画在线免费看| 日韩理论片中文av| 精品在线不卡| 不卡在线一区| 精品久久国产老人久久综合| 婷婷五月综合缴情在线视频| 精东粉嫩av免费一区二区三区| 国内外成人免费激情在线视频| 成人性生生活性生交12| 免费一级欧美在线大片| 国产在线不卡一卡二卡三卡四卡| 精品偷拍各种wc美女嘘嘘| 麻豆传媒网站在线观看| 久久亚洲资源| 国产在线精品不卡| 国产视频在线观看一区二区| 男人天堂999| 久久亚洲人体| 国产人妖乱国产精品人妖| 91精品国产91久久久久福利| 欧美精选视频一区二区| 国产丝袜一区视频在线观看 | 色综合天天综合网国产成人网| 影音先锋导航| 玖玖玖国产精品| 91国在线精品国内播放| 巨骚激情综合| 26uuu精品一区二区在线观看| 国产一区二区在线免费视频| 人人超在线公开视频| 国产视频一区二区在线| 久久久久无码国产精品一区| 九九99久久精品在免费线bt| 欧美丝袜第三区| 天堂在线亚洲| 日本亚洲欧美天堂免费| 欧美日韩中文国产一区发布 | a中文在线播放| 丁香六月综合激情| 91传媒视频在线观看| 亚洲精品三区| 精品99久久久久久| 香蕉视频在线观看网站| 99视频精品免费视频| 欧美连裤袜在线视频| 国产中文精品久高清在线不| 国产91精品入口17c| 欧美一级在线| 亚洲免费精彩视频| 日韩免费精品| 91久久伊人青青碰碰婷婷| 久久综合九色| 欧美丰满熟妇xxxxx| 亚洲福利视频一区| 国产黄网站在线观看| 欧美无砖专区一中文字| 亚洲色图16p| 国产精品视频yy9299一区| 韩国黄色一级大片| 精品久久久久久久久久久下田| 神马国产精品影院av| av日韩国产| 91精品福利在线| av在线天堂| 精品高清一区二区三区| 欧美18 19xxx| 亚洲欧美日韩一区| 97香蕉久久| 日韩欧美国产免费播放| 最新91在线| 亚洲少妇屁股交4| www成人免费观看网站| 国产情人综合久久777777| 久久久久免费看黄a片app| 国产成人综合视频| 诱受h嗯啊巨肉高潮| 国产激情久久久久| 亚洲电影一区二区三区| а√天堂中文资源在线bt| www.日韩.com| 亚洲五月综合| 大胆高清日本a视频| 欧美在线观看18| a级毛片免费观看在线| 欧美精三区欧美精三区| 国产小视频在线| 精品久久久久久中文字幕一区奶水| 国产天堂在线观看| 亚洲国产精品ⅴa在线观看| 男人用嘴添女人下身免费视频| 不卡av免费在线观看| 分分操这里只有精品| 本田岬高潮一区二区三区| 国产一区二区三区精彩视频| 九九**精品视频免费播放| 超碰成人免费在线| 中文字幕精品三区| 丝袜制服一区二区三区| 亚洲精品一二三| 人成在线免费视频| 一本大道综合伊人精品热热 | 亚洲人成777| 97色在线观看| 亚洲深深色噜噜狠狠爱网站| 国产中文一区二区| 国产一区91| 欧美这里只有精品| 欧美午夜精品久久久久久浪潮| 酒色婷婷桃色成人免费av网| 欧美精品v日韩精品v韩国精品v| 欧洲一区二区三区| 久久久精品国产一区二区| 成人一区二区| 国产黄页在线观看| 婷婷六月综合网| 欧美影院视频| 久久天天躁狠狠躁夜夜爽蜜月|