天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

javascript 面向對象編程 聊聊對象的事

先看一下JSON(Javascript object notation)對象,JSON是一種腳本操作時常用的數據交換格式對象,相對于XML來說JSON是一種比較輕量級的格式,在一些intelligence的IDE中還可以方便的通過點操作JSON對象中的成員。

      JSON是一種鍵/值對方式來描述內部成員的格式,其內部成員可以是幾乎任何一種類型的對象,當然也可以是方法、類、數組,也可以是另外一個JSON對象。

    var student = {
      Name: "張三",
      Age: 20,
      Hobby: "讀書",
      Books: [
        {
          BookName : "C#" ,
          Price : 70
        },
        {
          BookName : "Java" ,
          Price : 70
        },
        {
          BookName : "Javascript" ,
          Price : 80
        }
      ]
    };

      上面代碼用JSON對象描述了一個學生的信息,他有姓名、年齡、愛好、書集等。在訪問該學生對象時,可以通過student變量來操作學生的信息。

    var stuInfo = "姓名:" + student.Name +
           ",年齡:" + student.Age +
           ",愛好:" + student.Hobby +
           ",擁有的書:" +
                      student.Books[0].BookName + "、" +
           student.Books[1].BookName + "、" +
                      student.Books[2].BookName;
     alert(stuInfo);

      這樣的操作方式風格和C#也非常相像。以上的代碼是靜態的構造出了學生對象,學生對象的結構就確定了。在其它的編程語言中一般對象結構一旦確定就不能很方便的進行修改,但是在Javascript中的對象結構也可以方便的進行改動。下面為student對象添加一個Introduce方法來做自我介紹。

    student.Introduce = function() {
      var stuInfo = "姓名:" + this.Name +
             ",年齡:" + this.Age +
             ",愛好:" + this.Hobby +
             ",擁有的書:" +
             this.Books[0].BookName + "、" +
             this.Books[1].BookName + "、" +
             this.Books[2].BookName;
      alert(stuInfo)
    };
    student.Introduce();

      student對象原來并沒有Introduce方法,第一次為student.Introduce賦值會在student對象中創建一個新的成員,后面如果再為student.Introduce賦值則會覆蓋上一次所賦的值。當然我們這的值是一個function。也可以用類似索引的方式來添加成員。

    student["Introduce"] = function() {
     ……
    };
 
    student.Introduce();

當然添加的成員也可以刪除掉。刪除掉之后則成為undefined,再訪問該成員時則不支持。

    delete student.Introduce;
    student.Introduce();
 

        image

        Javascript是弱類型的語言,有的時候即使有IDE的輔助也不能很清楚知道當前所操作對象的成員,可能會需要對當前對象的屬性進行查詢,這時候我們可以使用for循環來完成。

    for (var key in student) {
      document.write(key + " : " + student[key] + "<br />");
    };

        image

      對student對象進行遍歷時,是對student的成員進行遍歷,這里的key則對應student對象中的每一個成員屬性名稱。student[key]則是對student某個成員進行訪問。如果想調用student的Introduce方法也可以用索引的方式,student[“Introduce”]()。

      上面簡單的聊了聊JSON對象,總的來說JSON是很方便的數據打包方式。Javascript中的其它的對象,不論是瀏覽器對象,還是自定義類型所創建的對象或者是數組等等,它們也都具有JSON對象類似的操作方式。我們可以直接用索引的方式為window添加成員,我們也可以為數組添加字符串形式的下標把它當成Hashtable來操作。

    window["Hi"] = function() {
      alert("helloworld!");
    };
    window["Hi"]();
 
    var array = [];
    array["一"] = "A";
    array["二"] = "B";
    array["三"] = "C";
    array["四"] = "D";
    alert(array["一"] + array["二"] + array["三"] + array["四"]);

      把數組當成Hashtable來操作時,要注意,并非是為數組添加數組元素,而是在數組對象中添加新的屬性成員。而且如果for(var key in array)循環遍歷數組對象的話,key得到的卻不是array對象的屬性名稱,而是數組元素的索引號。

下一次聊聊function。

JavaScript技術javascript 面向對象編程 聊聊對象的事,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 96.8在线收听 | 在线精品一卡乱码免费 | 欧美精品一卡二卡 | 亚洲精品久久久无码 | 日本69xxxxx| 亚洲国产成人99精品激情在线 | 含羞草影院AE在线观看 | 欧美精品九九99久久在观看 | 侮辱丰满美丽的人妻 | 欧美香蕉大胸在线视频观看 | 学生妹被爆插到高潮无遮挡 | 受被三个攻各种道具PLAY | 91精品婷婷国产综合久久8 | 日本又黄又裸一级大黄裸片 | 成人国产三级在线播放 | 川师 最美老师 | 簧片免费观看 | 黑人巨摘花破女处 | 夜色伊甸园 | 国产精品美女久久久久AV超清 | 国产精品高潮AV久久无码 | 吻嘴胸全身好爽床大全 | 成人毛片免费播放 | 国产精品你懂的在线播放 | 亚洲欧美日韩在线观看一区二区三区 | 伦理片在线线手机版韩国免费观看 | 日韩中文无线码在线视频 | 日韩欧美精品有码在线播放 | 青青青青青青青草 | 日日做夜夜欢狠狠免费软件 | 国产精品麻豆AV | 朋友的娇妻好爽好烫嗯 | 内射人妻无码色AV麻豆去百度搜 | 亚洲AV国产福利精品在现观看 | 影音先锋av电影 | 日韩亚洲人成在线 | 亚洲 欧美 清纯 校园 另类 | 国产片MV在线观看 | 一本色道久久综合亚洲精品 | 欧美另类z0z000高清 | 特污兔午夜影视院 |