一.String:儲存一個字串,並且提供處理字串需要的屬性和方法。
1.建立String對象:顯示和隱式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<DOCTYPE html> <html> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <head> <title>js函數</title> </head> <script type="text/javascript"> //申明String對象的兩種方式:顯式和隱式申明 //1.隱式 var myString="abc"; document.write(myString+"<br/>"); //2.顯式 var myString2=new String("abc"); document.write(myString2+"<br/>"); </script> <body> </body> </html> |
*顯式和隱式申明String對象,類型不一樣:隱式申明的string對象,類型是string,而顯式申明的string對象,類型是object。
*顯式與隱式建立字串真正的區別是,如果你要重複使用同樣的字串,顯式地建立字串,有更高的效率;
*顯式地建立字串,還有利於JavaScript解譯器混淆數字和字串;
2.使用String對象的方法
String對象,有許多方法,這裡只討論兩個。indexOf()和substring()方法;注意大小寫。
*需要知道的:JavaScript字串,是由字元組成的。這些字元的每一個都有一個索引。這個索引是從0開始的,所以第一個位置的索引是0;第二個是1,以此類推。
*方法indexOf()尋找並返回子字串起始的索引位置,如果尋找的元素不存在,就返回-1,否則返回這個字元所在的索引。(lastIndexOf則返回子字串結束的位置)
下面寫一個判斷使用者數輸入的Email地址中,是否包含@符號的例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<DOCTYPE html> <html> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <head> <title>js函數</title> </head> <script type="text/javascript"> //讓使用者輸入Email地址,檢查輸入是否包含@符號 //使用prompt方法,擷取使用者輸入的Email地址,檢查是否包含@符號,使用indexof返回@符號的索引 var userInput=prompt("Please enter your email address","Email"); if(Number(userInput.indexOf("@"))==-1) { document.write("對不起,您輸入的Email不合法"); } else { document.write("恭喜您,您輸入的Email通過驗證"); } </script> <body> </body> </html> |
substring()方法,使用字串的起始位置和結束位置的索引作為參數,從另一個字串中截取一個字串。可以不使用第二個參數,來返回,從第一個索引到字串結束的所有字串。比如,我們要截取從第三個到第六個字元的所有字元,可以這樣寫:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<DOCTYPE html> <html> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <head> <title>js函數</title> </head> <script type="text/javascript"> //從起始位置,到結束位置 var myhello="Hello Javascript World"; var newMyhello= myhello.substring(0); document.write(newMyhello+"<br/>"); //從第三個字元到第六個字元 var myhello="Hello Javascript World"; var newMyhello= myhello.substring(2,5); document.write(newMyhello+"<br/>"); </script> <body> </body> </html> |