官术网_书友最值得收藏!

5.3 對(duì)象訪問(wèn)語(yǔ)句

視頻講解

在JavaScript中,for…in語(yǔ)句和with語(yǔ)句都是專(zhuān)門(mén)應(yīng)用于對(duì)象的語(yǔ)句。下面對(duì)這兩個(gè)語(yǔ)句分別進(jìn)行介紹。

5.3.1 for…in語(yǔ)句

for…in語(yǔ)句和for語(yǔ)句十分相似,for…in語(yǔ)句用來(lái)遍歷對(duì)象的每一個(gè)屬性。每次都將屬性名作為字符串保存在變量中。

語(yǔ)法如下:

    for (變量 in 對(duì)象) {
        語(yǔ)句
    }

參數(shù)說(shuō)明。

 變量:用于存儲(chǔ)某個(gè)對(duì)象的所有屬性名。

 對(duì)象:用于指定要遍歷屬性的對(duì)象。

 語(yǔ)句:用于指定循環(huán)體。

for…in語(yǔ)句用于對(duì)某個(gè)對(duì)象的所有屬性進(jìn)行循環(huán)操作。將某個(gè)對(duì)象的所有屬性名稱(chēng)依次賦值給同一個(gè)變量,而不需要事先知道對(duì)象屬性的個(gè)數(shù)。

注意

應(yīng)用for…in語(yǔ)句遍歷對(duì)象的屬性,在輸出屬性值時(shí)一定要使用數(shù)組的形式(對(duì)象名[屬性名])進(jìn)行輸出,而不能使用“對(duì)象名.屬性名”這種形式。

下面應(yīng)用for…in循環(huán)語(yǔ)句輸出對(duì)象中的屬性名和值。首先創(chuàng)建一個(gè)對(duì)象,并且指定對(duì)象的屬性,然后應(yīng)用for…in循環(huán)語(yǔ)句輸出對(duì)象的所有屬性和值。程序代碼如下:

    01  var object={user:"小月",sex:"女",age:23,interest:"運(yùn)動(dòng)、唱歌"};   //創(chuàng)建自定義對(duì)象
    02  for (var example in object){                                      //應(yīng)用for...in循環(huán)語(yǔ)句
    03      document.write ("屬性:"+example+"="+object[example]+"<br>"); //輸出各屬性名及屬性值
    04  }

運(yùn)行結(jié)果如圖5.11所示。

圖5.11 輸出對(duì)象中的屬性名及屬性值

5.3.2 with語(yǔ)句

with語(yǔ)句用于在訪問(wèn)一個(gè)對(duì)象的屬性或方法時(shí)避免重復(fù)引用指定對(duì)象名。使用with語(yǔ)句可以簡(jiǎn)化對(duì)象屬性調(diào)用的層次。

語(yǔ)法如下:

    with(對(duì)象名稱(chēng)){
        語(yǔ)句
    }

參數(shù)說(shuō)明。

 對(duì)象名稱(chēng):用于指定要操作的對(duì)象名稱(chēng)。

 語(yǔ)句:要執(zhí)行的語(yǔ)句,可直接引用對(duì)象的屬性名或方法名。

在一個(gè)連續(xù)的程序代碼中,如果多次使用某個(gè)對(duì)象的多個(gè)屬性或方法,那么只要在with關(guān)鍵字后的括號(hào)()中寫(xiě)出該對(duì)象實(shí)例的名稱(chēng),就可以在隨后的大括號(hào){}的程序語(yǔ)句中直接引用該對(duì)象的屬性名或方法名,不必再在每個(gè)屬性名或方法名前都加上對(duì)象實(shí)例名和“.”。

例如,應(yīng)用with語(yǔ)句實(shí)現(xiàn)student對(duì)象的多次引用,代碼如下:

    01  function Student(name,sex,age){
    02      this.name = name;                                   //設(shè)置對(duì)象的name屬性
    03      this.sex = sex;                                        //設(shè)置對(duì)象的sex屬性
    04      this.age = age;                                     //設(shè)置對(duì)象的age屬性
    05  }
    06  var student=new Student("周星星","男",26);               //創(chuàng)建新對(duì)象
    07  with(student){                                           //應(yīng)用with語(yǔ)句
    08      alert("姓名:"+name+"\n性別:"+sex+"\n年齡:"+age); //輸出多個(gè)屬性的值
    09  }

運(yùn)行結(jié)果如圖5.12所示。

圖5.12 with語(yǔ)句的應(yīng)用

主站蜘蛛池模板: 张家口市| 丽江市| 讷河市| 云和县| 梁平县| 桑日县| 汉沽区| 庆安县| 江永县| 秭归县| 水城县| 南投县| 朝阳区| 武威市| 芮城县| 庆元县| 甘孜| 台湾省| 大英县| 沂水县| 武夷山市| 渑池县| 上犹县| 楚雄市| 新乡县| 项城市| 嵩明县| 莲花县| 阳高县| 夹江县| 广河县| 视频| 武穴市| 荥阳市| 麻阳| 阳新县| 石渠县| 塔城市| 安溪县| 云南省| 会东县|