Javascript對於做過Web程式的人不應該是陌生,初期是用來做一些簡單的FORM驗證,基本上是在玩 弄一些技巧性的東西。Javascript不是一個支援物件導向的語言,更加算不上一個開發平台,但是 Javascript提供了一個非常強大的基於Prototype的物件導向調用功能,這使得我們可以在自己需要的地 方使用他們。ASP.NET AJAX中也提供了對JavaScript面向對類型系統的支援。
在物件導向的語言(如C#,Java)裡,命名空間、類、介面、方法等等這些對大家都不陌生,那麼你 是否在用戶端使用過JavaScript來寫過基於物件導向的程式呢?詳細請看下面分解:
一、命名空間
命名空間是什嗎?命名空間的作用是合理的組織大量的類型,使開發人員能夠方便的找到他們所需要 的類型。如大多數物件導向語言一樣,JavaScript在基於Prototype的基礎上提供了註冊命名空間的方法 ,見下文法:
Type.registerNamespace("MyNamespae");
比如我們要註冊一個為"com.cnblogs.beniao"的命名空間,則使用如下代碼進行定義:
1//註冊命名空間2Type.registerNamespace("com.cnblogs.beniao");
在實際的開發中,命名空間是可以重複註冊的,最好是在每個獨立的指令碼模組前都要註冊命名空間以 保證命名空間存在.
二、類
在物件導向的程式語言裡,對類的定義為是具有相同屬性、操作、關係的對象集合的總稱。那在客戶 端JavaScript裡呢?我想也不外於此,只不過不同於物件導向語言裡那樣通過class來定義,它有專用注 冊的文法,見下:
1註冊一個類2Type.registerClass("TypeName");
比如要註冊一個名為"com.cnblogs.beniao.Employee"的類,""com.cnblogs.beniao"為命名空間註冊 代碼如下:
1//註冊一個com.cnblogs.beniao.Employee類2Type.registerClass("com.cnblogs.beniao.Employee");
一個類可看作為是抽象出的一個對象,他應該帶有構造方法,成員欄位以及相關操作,這在物件導向 的程式設計裡是常見的,而這一特性在用戶端JavaScript裡也不例外,在JavaScript基於Prototype的支 持下也可以為JavaScrpt所註冊的類提供構造器和成員欄位和相關操作,看看下面的分析: