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

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

視頻講解

在JavaScript中,for…in語(yǔ)句和with語(yǔ)句都是專門(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ì)象的所有屬性名稱依次賦值給同一個(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ì)象名稱){
        語(yǔ)句
    }

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

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

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

在一個(gè)連續(xù)的程序代碼中,如果多次使用某個(gè)對(duì)象的多個(gè)屬性或方法,那么只要在with關(guān)鍵字后的括號(hào)()中寫(xiě)出該對(duì)象實(shí)例的名稱,就可以在隨后的大括號(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)用

主站蜘蛛池模板: 象山县| 靖远县| 衡南县| 石柱| 东港市| 安福县| 杨浦区| 黄石市| 富裕县| 宜兰县| 正安县| 垫江县| 肇源县| 平山县| 扶风县| 泰兴市| 高邑县| 封丘县| 石屏县| 天津市| 修水县| 瓦房店市| 南投县| 襄垣县| 怀化市| 务川| 湾仔区| 宝清县| 逊克县| 丰城市| 马鞍山市| 无棣县| 夏津县| 淮安市| 河北区| 奇台县| 增城市| 古田县| 合肥市| 中超| 榆中县|