<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ⅴ无码电影| 国产日韩久久免费影院| 久久久久久久尹人综合网亚洲| 日韩免费电影网站| 亚洲人成片在线观看| 大学生a级毛片免费观看| 国产精品久久亚洲一区二区| 亚洲高清偷拍一区二区三区| 在线免费观看毛片网站| WWW国产亚洲精品久久麻豆| 亚洲精品NV久久久久久久久久| 3344在线看片免费| 亚洲国产成人精品无码区在线网站| 我想看一级毛片免费的| 亚洲AV无码精品国产成人| 亚洲日本中文字幕天堂网| 成全动漫视频在线观看免费高清版下载| 久久夜色精品国产嚕嚕亚洲av| 亚洲av无码日韩av无码网站冲| 亚洲人成网站18禁止一区| 国产精品免费观看调教网| 久久久久se色偷偷亚洲精品av | 亚欧日韩毛片在线看免费网站| 亚洲日韩人妻第一页| 国精产品一区一区三区免费视频| 亚洲精品欧洲精品| 亚洲av无码国产精品色在线看不卡| 成人性生交大片免费看好| 亚洲成人激情小说| 亚洲国产婷婷六月丁香|