JavaScript建立在一些非常好的想法和少數非常壞的想法之上。
非常好的想法包括函數,弱類型,動態對象和一個富有表現力的對象字面量的表示法,
壞的想法包括基于全局變量的編程模型。
JavaScript的函數是基于詞法作用域的頂級對象。Javascript是第一個成為主流的Lambda語言。相對于Java而言,JavaScript于Lisp和Scheme有更多的共同點。它是披著C外衣的Lisp。這使得JavaScript成為一個非常強大的語言。
現在大部分變成語言都流行要求強類型。其原理在于強類型允許編譯器在編譯時檢查錯誤。我們越早檢查和修復錯誤,付出的代價越小。Javascipt是弱類型的語言,所以JavaScript編譯器不能檢測出來類型錯誤。事實證明,強類型并不能讓你的測試工作輕松,另一個方面,弱類型是自由的。無需建立復雜的類層次,不用做強制造型。
JavaScript有非常強大的字面量表示法。通過列出對象的組成部分,他們就能簡單的被創建出來。這種表示法是促使我創建流行的數據交換格式--JSON的靈感。
JavaScript依賴于全局變量來進行連接,所有編譯單元的所有頂級變量被撮合到一個被稱為全局對象的公共命名空間中。這是一個糟糕的事情,因為全局變量是魔鬼,并且在JavaScript中它們是基礎性的。
文章出處:飛諾網(www.firnow.com):http://dev.firnow.com/course/1_web/javascript/jsjs/20090821/169455.html