<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    最愛Java

    書山有路勤為徑,學海無涯苦作舟

    javascript面向對象技術基礎(一)

              本文轉載于javaeye(http://www.javaeye.com/wiki/Object_Oriented_JavaScript/1279-javascript-object-oriented-technology-one),只進行了重新排版以便收藏。
              文中所有英文語句(程序語句除外),都引自<<javascript-the definitive guide,5th edition>>。

    ------------------------------------------------------------------------------------
    對象和數組(Objects and Arrays)
            什么是對象?把一些"名字-屬性"的組合放在一個單元里面,就組成了一個對象。我們可以理解為javascript中的對象就是一些"鍵-值"對的集合(An object is a collection of named values. These named values are usually referred to as properties of the object.--Section3.5)。
            "名字"只能是string類型,不能是其他類型,而屬性的類型則是任意的(數字/字符串/其他對象..)。可以用new Object()來創建一個空對象,也可以簡單的用"{}"來創建一個空對象,這兩者的作用是等同的。
             
    1var emptyObject1 = {};           //創建空對象   
    2var emptyObject2 = new Object(); //創建空對象   
    3var person = {"name":"sdcyst",   
    4          "age":18,   
    5          "sex":"male"}
    ;     //創建一個包含初始值的對象person   
    6alert(person.name);              //sdcyst   
    7alert(person["age"]);            //18  
        
            從上面的例子我們也可以看到,訪問一個對象的屬性,可以簡單的用對象名加"."后加屬性的名字,也可以用"[]"操作符來獲取,此時在[]里面的屬性名字要加引號,這是因為對象中的索引都是字符串類型的。javasript對象中屬性的個數是可變的,在創建了一個對象之后可以隨時對它賦予任何的屬性。

    1var person = {};   
    2person.name = "sdcyst";   
    3person["age"= 18;   
    4alert(person.name + "__" + person.age); //sdcyst__18   
    5  
    6var _person = {name:"balala","age":23}//在構建一個對象時,屬性的名字可以不用引號來標注(name),   
    7                    //但是仍舊是一個字符串類型.在訪問的時候[]內仍舊需要引號   
    8alert(_person["name"+ "__" + person.age); //balala__23   
    9alert(_person[name]);                   //undefinied  
       
            通過"."操作符獲取對象的屬性,必須得知道屬性的名字。一般來說"[]"操作符獲取對象屬性的功能更強大一些,可以在[]中放入一些表達式來取屬性的值,比如可以用在循環控制語句中,而"."操作符則沒有這種靈活性。

     1var name = {"name1":"NAME1","name2":"NAME2","name3":"NAME3","name4":"NAME4"};   
     2var namestring = "";   
     3for(var props in name) {  //循環name對象中的屬性名字   
     4    namestring += name[props];   
     5}
       
     6alert(namestring);  //NAME1NAME2NAME3NAME4   
     7  
     8namestring = "";   
     9for(var i=0; i<4; i++{   
    10    namestring += name["name"+(i+1)];   
    11}
       
    12alert(namestring);  //NAME1NAME2NAME3NAME4  

            delete操作符可以刪除對象中的某個屬性,判斷某個屬性是否存在可以使用"in"操作符。

     1var name = {"name1":"NAME1","name2":"NAME2","name3":"NAME3","name4":"NAME4"};   
     2var namestring = "";   
     3for(var props in name) {  //循環name對象中的屬性名字   
     4    namestring += name[props];   
     5}
       
     6alert(namestring);  //NAME1NAME2NAME3NAME4   
     7  
     8delete name.name1;  //刪除name1屬性   
     9delete name["name3"];  //刪除name3屬性   
    10namestring = "";   
    11for(var props in name) {  //循環name對象中的屬性名字   
    12    namestring += name[props];   
    13}
       
    14alert(namestring);  //NAME2NAME4   
    15  
    16alert("name1" in name); //false   
    17alert("name4" in name); //true  

            需要注意,對象中的屬性是沒有順序的。

    對象的constructor屬性
            每一個javascript對象都有一個constructor屬性。這個屬性對應了對象初始化時的構造函數(函數也是對象)。

    1var date = new Date();   
    2alert(date.constructor);  //Date   
    3alert(date.constructor == "Date");  //false   
    4alert(date.constructor == Date);  //true  

    posted on 2009-10-20 10:37 Brian 閱讀(232) 評論(0)  編輯  收藏 所屬分類: JScript

    公告


    導航

    <2009年10月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    統計

    常用鏈接

    留言簿(4)

    隨筆分類

    隨筆檔案

    收藏夾

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产AV无码专区亚洲A∨毛片| 亚洲网址在线观看| 无码av免费网站| 亚洲一区二区三区在线观看网站| jizzjizz亚洲| 91久久精品国产免费一区| 亚洲色大情网站www| 亚洲热妇无码AV在线播放| 在线观看日本免费a∨视频| 免费国产黄网站在线看| 亚洲精品偷拍无码不卡av| 国产成人涩涩涩视频在线观看免费 | 亚洲精品456播放| **真实毛片免费观看| 免费国产a理论片| 久久久久亚洲精品无码蜜桃| 四虎精品亚洲一区二区三区| 91av免费观看| 国产中文字幕在线免费观看| 亚洲国产成人精品无码区花野真一 | 91在线亚洲综合在线| 亚洲AV无码专区电影在线观看 | 美女视频黄的免费视频网页| 亚洲AV综合永久无码精品天堂 | 免费人成大片在线观看播放| 亚洲国产av一区二区三区丶| 国产gv天堂亚洲国产gv刚刚碰 | 亚洲免费黄色网址| 久久99国产亚洲高清观看首页| 成人免费a级毛片无码网站入口 | 亚洲国产精品嫩草影院在线观看| 男女交性永久免费视频播放| 一级毛片免费观看不卡的| 九九久久国产精品免费热6| 亚洲一区AV无码少妇电影| 亚洲男人天堂av| 亚洲精品无码av人在线观看 | 日本无吗免费一二区| 日韩在线播放全免费| 久久永久免费人妻精品| 中国一级毛片免费看视频|