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

8.2 String對象的屬性

視頻講解

在String對象中有3個屬性,分別是length、constructor和prototype。下面對這幾個屬性進行詳細介紹。

8.2.1 length屬性

length屬性用于獲得當前字符串的長度。該字符串的長度為字符串中所有字符的個數,而不是字節數(一個英文字符占一個字節,一個中文字符占兩個字節)。

語法如下:

    stringObject.length

參數說明。

stringObject:當前獲取長度的String對象名,也可以是字符變量名。

說明

通過length屬性返回的字符串長度包括字符串中的空格。

例如,獲取已創建的字符串對象newString的長度。代碼如下:

    01  var newString=new String("abcdefg");  //創建字符串對象
    02  var p=newString.length;               //獲取字符串對象的長度
    03  alert(p);                             //輸出字符串對象的長度

運行結果為:

    7

例如,獲取自定義的字符變量newStr的長度。代碼如下:

    01  var newStr="abcdefg";  //定義一個字符串變量
    02  var p=newStr.length;   //獲取字符串變量的長度
    03  alert(p);              //輸出字符串變量的長度

運行結果為:

    7

【例8.01】金庸先生的武俠小說深受廣大武俠迷們的喜愛,在小說中無論是正面人物還是反面人物都很有特色。現提取小說中的一些主要人物,如張無忌、郭靖、東方不敗、喬峰、令狐沖、完顏洪烈、楊過、金輪法王、韋小寶。

將以上人物按名稱的字數進行分類,并將分類結果輸出在頁面中。代碼如下:(實例位置:資源包\源碼\08\8.01)

    01  //定義人物數組
    02  var arr=new Array("張無忌","郭靖","東方不敗","喬峰","令狐沖","完顏洪烈","楊過","金輪法王",
                         "韋小寶");
    03  var twoname="";                                     //初始化二字人物變量
    04  var threename="";                                   //初始化三字人物變量
    05  var fourname="";                                    //初始化四字人物變量
    06  for(var i=0; i<arr.length; i++){
    07     if(arr[i].length==2){                            //如果人物名稱長度為2
    08        twoname+=arr[i]+" ";                          //將人物名稱連接在一起
    09     }
    10     if(arr[i].length==3){                            //如果人物名稱長度為3
    11        threename+=arr[i]+" ";                        //將人物名稱連接在一起
    12     }
    13     if(arr[i].length==4){                            //如果人物名稱長度為4
    14        fourname+=arr[i]+" ";                         //將人物名稱連接在一起
    15     }
    16  }
    17  document.write("二字人物:"+twoname);               //輸出二字人物
    18  document.write("<br>三字人物:"+threename);         //輸出三字人物
    19  document.write("<br>四字人物:"+fourname);          //輸出四字人物

運行程序,結果如圖8.1所示。

圖8.1 為金庸小說人物名稱按字數分類

8.2.2 constructor屬性

constructor屬性用于對當前對象的構造函數的引用。

語法如下:

    stringObject.constructor

參數說明。

stringObject:String對象名或字符變量名。

例如,使用constructor屬性判斷當前對象的類型。代碼如下:

    01  var newStr=new String("One World One Dream");  //創建字符串對象
    02  if (newStr.constructor==String){                 //判斷當前對象是否為字符串對象
    03      alert("這是一個字符串對象");                //輸出字符串
    04  }

運行結果如圖8.2所示。

圖8.2 輸出對象的類型

說明

以上例子中的newStr對象,可以用字符串變量代替。constructor屬性是一個公共屬性,在Array、Date、Boolean和Number對象中都可以調用該屬性,用法與String對象相同。

8.2.3 prototype屬性

prototype屬性可以為字符串對象添加自定義的屬性或方法。

語法如下:

    String.prototype.name=value

參數說明。

 name:要添加的屬性名或方法名。

 value:添加屬性的值或執行方法的函數。

例如,給String對象添加一個自定義方法getLength,通過該方法獲取字符串的長度。代碼如下:

    01  String.prototype.getLength=function(){  //定義添加的方法
    02      alert(this.length);                 //輸出字符串長度
    03  }
    04  var str=new String("abcdefg");          //創建字符串對象
    05  str.getLength();                        //調用添加的方法

運行結果如圖8.3所示。

圖8.3 輸出字符串的長度

說明

prototype屬性也是一個公共屬性,在Array、Date、Boolean和Number對象中都可以調用該屬性,用法與String對象相同。

主站蜘蛛池模板: 青海省| 百色市| 治县。| 华宁县| 永定县| 龙山县| 宣威市| 贵德县| 新乡县| 成安县| 闵行区| 溆浦县| 江源县| 桂东县| 景宁| 商丘市| 图木舒克市| 水富县| 涞源县| 西平县| 杭锦旗| 南宫市| 敦化市| 重庆市| 出国| 桐庐县| 濮阳县| 牡丹江市| 巩留县| 铁力市| 宁阳县| 禹城市| 嘉兴市| 永康市| 正镶白旗| 临泽县| 治多县| 岳阳县| 长垣县| 三门峡市| 武陟县|