不可否認JavaScript是現今web端應用的最為廣泛的語言,隨著Java applets的完敗,JavaScript事實上變成了預設的“Web”語言,而它又是唯一一個所有瀏覽器都可以識別的語言,我們沒有選擇只能用JavaScript。
可以把JavaScript理解為一個幹細胞,它還沒有發育成一個功能細胞就被開發利用了,所以糟粕占的比重會非常之高。但這恰恰也是這種語言的優點,他給了開發人員最大的自由度,你可以給予它各式各樣的養料把它培養成具有自己鮮明的特徵的功能細胞,當然你得知道怎麼樣去掉糟粕,所以JavaScript是一門強大的令人驚訝的語言。
JavaScript極具表現力,這也是它非常容易入門的原因,但是要學會怎麼去培養它卻不是那麼容易,它採用與其它語言截然不同的繼承方式:基於原型的繼承;繼承有三種方式:類的繼承、元類繼承、原型的繼承。 對於學過C、C++、Java的開發人員面對JavaScript時,有一種深深挫敗感,因為他們的那一套基於類的繼承思想完全不適合於JavaScript,所以得從頭學起。這就印證了一句話:JavaScript易學難精。
我們得從頭學習原型這種繼承體系。比如原型繼承允許建立類的對象後繼續修改類的屬性,而對象的繼承列表中會即時的反映出來該屬性,但類的繼承是絕對不允許這麼做的。JavaScript最為精典的設計就是:函數即是對象。JavaScript沒有變數的範圍,只有函數範圍,它引入的範圍鏈的概念,一段程式每執行進入一個範圍就建立一個變數對象儲存該範圍下的變數和函數,然後放到範圍鏈上,當然出這個範圍時就把該變數對象從範圍鏈中刪除,這就形成了一個動態執行體系。
JavaScript是一種弱類型的語言,所以在編譯階段不會有任何錯誤提示,但這並不表示我們會付出太多的代價去檢測和修複錯誤。強型別語言允許編譯階段時檢測錯誤,可尋找到錯誤並不是令我們頭痛的錯誤。相反,弱類型的自由使我們無須建立複雜的類層次,也不用疲於應付類型系統以得到想要的結果。
本文摘自ITEYE,ITeye 11月技術圖書有獎試讀活動,原文連結如下:http://lizhicheng99.iteye.com/blog/1722441