欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS中的prototype與面向?qū)ο蟮膶?shí)例講解

 更新時(shí)間:2013年05月22日 11:43:42   作者:  
JS中的prototype與面向?qū)ο蟮膶?shí)例講解,需要的朋友可以參考一下
復(fù)制代碼 代碼如下:

<script language="javascript" type="text/javascript">
         //(1)把一個(gè)方法變成一個(gè)對象,為對象創(chuàng)建方法和屬性
         var Name = function () {
             //通過prototype給一個(gè)對象創(chuàng)建方法
             Name.prototype.Add = function (num, title) {
             }
             //也可以直接用this加方法名為對象創(chuàng)建方法和上面的等價(jià)
             this.Way = function (str) {
             }
             //為對象添加屬性值
             Name.prototype.xing = "123";

             //定義靜態(tài)屬性和方法
             Name.shi = "static";
             Name.Addd = function (num, title) {
             }
             //靜態(tài)定義的局部屬性和方法只能在靜態(tài)的類型里面用
             alert(Name.shi);
             Name.Addd(1, 2);

         }
         //方法也可以這樣聲明
         function Name1() {
             Name1.prototype.add = function () { }
             this.way = function () { }
             Name1.prototype.shu = "other";
         }
         //靜態(tài)定義的全局屬性和方法通用
         Name.sha = "static";
         Name.Addd2 = function () {
         }
         alert(Name.sha); //調(diào)用靜態(tài)屬性
         Name.Addd2(); //調(diào)用靜態(tài)方法
         var name = new Name();
         name.Add(); //對象調(diào)用方法
         name.Way();
         alert(name.xing); //對象調(diào)用屬性
         /*靜態(tài)的全局變量,在方法外可以調(diào)用;靜態(tài)的局部變量和方法僅限于方法內(nèi)使用;實(shí)例對象不能調(diào)用靜態(tài)的方法 */
         /*實(shí)例對象不能使用prototype; */

 
         //(2)Javascript面向?qū)ο?繼承
         //父類
         function Class() {
             this.name = "name";
             this.method = function () {
                 alert("method");
             }
         }
         //子類
         function Class1() {
             this.name1 = "name1";
             this.method1 = function () {
                 alert("method1");
             }
         }
         //子類繼承父類
         Class1.prototype = new Class();
         var obj = new Class1();
         alert(obj.name);
         alert(obj.name1);
         obj.method();
         obj.method1();
         /******  子類繼承父類的語法,子類.prototype=new 父類();  *****/
         //(3)子類重寫父類
         //子類
         function Class2() {
             this.name2 = "name2";
             this.method2 = function () {
                 alert("method2");
             }
         }
         Class2.prototype = new Class(); //繼承
         Class2.prototype.name = "updateName"; //重寫父類的屬性
         Class2.prototype.method = function () {//重寫父類的方法
             alert("UpdateMethod");
         }
         var obj2 = new Class2();
         alert(obj2.name); //顯示updateName
         obj2.method(); //顯示UpdateMethod
         alert(obj2.name2);
         obj2.method2();

         //(4){}里面的為對象
         var arr = new Array();
         arr.push({ "name": "1", "age": 12, funA: function () { } });
         arr.push({ "name": "2", "age": 13 });
         arr.push({ "name": "3", "age": 14 });
         for (var i = 0; i < arr.length; i++) {
             alert(arr[i].name);
             alert(arr[i].age);
             alert(arr[i].funA());
         }
         /****一個(gè)對象也可以這么定義***/
         var newObject = {
             "name": "Jim",
             "sex": "Man",
              Way: function () { }
         };
     </script>

相關(guān)文章

最新評論