- JavaScript從入門到精通(微視頻精編版)
- 明日科技
- 1139字
- 2020-09-01 15:02:30
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對象相同。
- Linux C/C++服務器開發實踐
- 算法大爆炸:面試通關步步為營
- Neo4j Essentials
- Elastic Stack應用寶典
- Windows Forensics Cookbook
- HDInsight Essentials(Second Edition)
- 精通Python設計模式(第2版)
- Ext JS 4 Web Application Development Cookbook
- 持續輕量級Java EE開發:編寫可測試的代碼
- 計算機應用基礎案例教程
- Scala Data Analysis Cookbook
- C語言程序設計實訓教程與水平考試指導
- Lift Application Development Cookbook
- RocketMQ實戰與原理解析
- UX Design for Mobile