- 怎麼樣建立一個對象?
- 利用Object建立自訂對象
- JavaScript能夠自訂對象來擴充程式的功能,不僅如此,它還能擴充JavaScript提供的內建對象,新增內建對象的屬性或方法
- 例如下面代碼,建立一個myObj對象
<script language="javascript" type="text/javascript">//聲明一個對象副本var myObj=new Object();//簡寫形式var myObj=new {};</script>
- 給對象增加屬性
-
//給對象增加屬性myObj.Name='李龍生'; myObj.Age=24;
- 也可以用with語句
//with語句對對象操作with(myObj){Name='李龍生';Age='24';}
PS:JavaScript的對象可以看做是一個數組,對象名即數組名,屬性即數組元素,屬性值即元素值。
- 利用建構函式建立對象
- 建構函式(Constructor
Function)是一個函數,能夠定義對象的屬性和方法,其實,JavaScript內建對象也是一些建構函式,如Object、Array、String等分別對應Object()、Array()、String()建構函式。
- JavaScript能夠自己建立對象的建構函式,定義對象擁有的屬性和方法,然後,利用定義好的函數建立對象,也可以把它視為一個對象的聲明,如下代碼:
-
<script language="javascript" type="text/javascript">//定義一個驗證登陸函數function yanzheng(UserName,UserPassWord){this.name=UserName;this.password=UserPassWord;}</script>
- 上述建構函式擁有兩個參數值,可以建立屬性值,this命令指的是建立的對象本身.
- 使用new命令建立對象副本
//執行個體化對象yanzheng1=new yanzheng('李龍生','123456');
- 一般方式對象副本方式增加屬性和方法
- 只需通過對象自己增加,很簡單不再舉例子。
- 通過JavaScript的Prototype對象增加屬性和方法
- JavaScript屬於一種基於原型語言,不同於Java、VB等,基於原型的語言其類與執行個體對象區別不大
- 例如我們可以拿一個現成的對象作為原型建立其他對象,此對象可以分享原型對象的屬性和方法,使用prototype對象可以繼承其他對象,而這一點是基於Class中,做不到的,在Class中需要用深淺複製的Prototype模式才可以實現。
- 每一個對象都擁有Prototype屬性,這個屬性會被建立這個對象副本的對象所繼承,這樣建立新對象時不用重複已有的屬性、方法,節省了記憶體空間。
- 增加屬性
//通過原型增加層級屬性yanzheng.prototype.Level="管理員";
增加方法
//通過原型增加登陸方法yanzheng.prototype.login=BeginLogin;
e. 通過Prototype繼承其它對象
繼承不但可以使用原對象作為原型建立其它對象,還可以擴充項物件的屬性和方法,例如對上面驗證函式如果新增一個安全模式驗證函式,但它也需要使用者名稱、密碼,只需繼承上面即可。看下面代碼
//登陸模式function SSL(ssl){this.SSL=ssl;}//prototype對象的繼承SSL.prototype=new yanzheng();
JS是一門語言,需要系統學習,理解語言的本質才會運用自如,打好基礎才能走的更遠!!