網頁

搜尋此網誌

2010年1月4日 星期一

Redefine JavaScript

近期的工作都與 JavaScript 這個程式語言有關,在實際使用中遇到許多問題,藉著解決這些問題當中,我再次重新學習 JavaScript 程式的概念,在此與大家分享自己的學習心得。

JavaScript 程式語言的觀念整理如下:
  • JavaScript 是個完全的物件導向 (object-oriented) 程式語言
  • JavaScript 所有的東西都是物件 (object)
  • JavaScript 的資料類型是動態檢查 (dynamic typing) 類型
  • 目前 JavaScript 主要的使用版本是1.5版,或稱 ECMAScript 3
  • JavaScript 是 Client 端瀏覽器的腳本語言 (script language)
  • 變數區分大小寫 (case-sensitive)
  • JavaScript 不是 Java ,原本是 LiveScript 的名稱 (September 1995),改名於 December 4, 1995,因為當時 Java 語言正流行!
  • JavaScript 除了 cookie 之外,不能存取 Client 端使用者本機電腦的任何資料
  • 所有的 JavaScript 程式遵守「同源策略」, JavaScript 的檔案一定要是相同的URL才可執行
  • 發明者:Brendan Eich
開發 JavaScript 可以參考 Mozilla Developer Center 的Core JavaScript 1.5 Reference,內容寫得非常詳盡。

本篇主要是要介紹物件導向 (Object-Oriented) 的 JavaScript 開發,因為最近程式越寫越大,越寫越複雜,還用了 Ext JS 的開發框架,再不好好弄懂 JavaScript 的話,事情可能越來越糟。

沒錯,JavaScript 所有的類型都是物件 (Object),標準的全域物件有 (Standard Global Objects):ArrayBooleanDateErrorEvalErrorFunctionMathNumberObjectRangeErrorReferenceErrorRegExpStringSyntaxErrorTypeErrorURIError共16種物件。全域函式則有:decodeURIdecodeURIComponentencodeURIencodeURIComponentevalisFiniteisNaNparseFloatparseInt

這裡要特別注意的是「 JavaScript 不像其他的物件導向程式語言, JavaScript 不使用類別的觀念」,大概這點是除了「 JavaScript 不是 Java 」之外最要注意的地方!

JavaScript 是屬於原型繼承 (prototypal inheritance) 的程式語言,也稱 Prototype-Based Programming物件繼承是 prototype 的方式操作, prototype 是 Function 物件的 prototype 屬性 (property),注意到: function 也是一個 Function 類型的物件

推薦詳細的參考文件:(Details of the Object Model
)https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Details_of_the_Object_Model

沒有留言:

張貼留言

熱門文章