国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS中的prototype與面向對象的實例講解

2019-11-20 22:41:48
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

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

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

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

 
         //(2)Javascript面向對象 繼承
         //父類
         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());
         }
         /****一個對象也可以這么定義***/
         var newObject = {
             "name": "Jim",
             "sex": "Man",
              Way: function () { }
         };
     </script>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 敦煌市| 蓝山县| 五莲县| 崇明县| 札达县| 金乡县| 望都县| 沙雅县| 娱乐| 全南县| 探索| 开鲁县| 泰安市| 渝中区| 永宁县| 大连市| 阳信县| 慈利县| 商丘市| 米易县| 韶山市| 嘉兴市| 娱乐| 旌德县| 米脂县| 禹城市| 溆浦县| 拉萨市| 襄樊市| 满洲里市| 廊坊市| 慈利县| 来安县| 台州市| 孝感市| 克东县| 易门县| 喀喇沁旗| 吴桥县| 石景山区| 临清市|