面向對象的語言必須具備四個基本特征:
1.封裝能力(即允許将基本資料類型的變量或函數放到一個類裡,形成類的成員或方法)
2.聚合能力(即允許類裡面再包含類,這樣可以應付足夠複雜的設計)
3.支援繼承(父類可以派生出子類,子類擁有父母的屬性或方法)
4.支援多态(允許同樣的方法名,根據方法簽名[即函數的參數]不同,有各自獨立的處理方法)
這四個基本屬性,javascript都可以支援,是以javascript确實是一種弱類型的面向對象的語言,這裡給出一個簡單的類繼承的代碼
[基礎]Javascript中的繼承示例代碼 <script type="text/javascript">
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼 //父類ClassA
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼 function ClassA(sColor)
[基礎]Javascript中的繼承示例代碼 {
[基礎]Javascript中的繼承示例代碼 this.color = sColor;
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼 this.sayColor = function ()
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼 document.write("Color:" + this.color + "<br/>");
[基礎]Javascript中的繼承示例代碼 };
[基礎]Javascript中的繼承示例代碼 }
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼 //子類ClassB,繼承自ClassA
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼 function ClassB(sColor,sName)
[基礎]Javascript中的繼承示例代碼 {
[基礎]Javascript中的繼承示例代碼 ClassA.call(this,sColor);//利用call函數,将ClassA的所有方法都賦給ClassB,即實作了繼承
[基礎]Javascript中的繼承示例代碼 this.name = sName;
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼 this.sayName = function()
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼 document.write("Name:" + this.name + "<br/>");
[基礎]Javascript中的繼承示例代碼 }
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼 var oClassA = new ClassA("Red");
[基礎]Javascript中的繼承示例代碼 oClassA.sayColor();
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼 var oClassB = new ClassB("Blue","Jimmy.Yang");
[基礎]Javascript中的繼承示例代碼 oClassB.sayColor();//這裡sayColor方法是從ClassA繼承來的
[基礎]Javascript中的繼承示例代碼 oClassB.sayName();//這是ClassB中的新方法
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼 /**//*
[基礎]Javascript中的繼承示例代碼 call函數的示範示例
[基礎]Javascript中的繼承示例代碼 function sayColor(sPrefix, sSuffix) {
[基礎]Javascript中的繼承示例代碼 alert(sPrefix + this.color + sSuffix);
[基礎]Javascript中的繼承示例代碼 };
[基礎]Javascript中的繼承示例代碼 var obj = new Object();
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼 sayColor.call(obj, "The color is ", ", a very nice color indeed. ");
[基礎]Javascript中的繼承示例代碼 */
[基礎]Javascript中的繼承示例代碼
[基礎]Javascript中的繼承示例代碼 </script>