一.String:存储一个字符串,并且提供处理字符串需要的属性和方法。
1.创建String对象:显示和隐式
1 <DOCTYPE html> 2 <html> 3 <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> 4 <head> 5 <title>js函数</title> 6 </head> 7 <script type="text/Javascript"> 8 //申明String对象的两种方式:显式和隐式申明 9 //1.隐式10 var myString="abc";11 document.write(myString+"<br/>");12 //2.显式13 var myString2=new String("abc");14 document.write(myString2+"<br/>");15 </script>16 <body>17 18 </body>19 </html>创建String对象
*显式和隐式申明String对象,类型不一样:隐式申明的string对象,类型是string,而显式申明的string对象,类型是object。
*显式与隐式创建字符串真正的区别是,如果你要重复使用同样的字符串,显式地创建字符串,有更高的效率;
*显式地创建字符串,还有利于JavaScript解释器混淆数字和字符串;
2.使用String对象的方法
String对象,有许多方法,这里只讨论两个。indexOf()和substring()方法;注意大小写。
*需要知道的:JavaScript字符串,是由字符组成的。这些字符的每一个都有一个索引。这个索引是从0开始的,所以第一个位置的索引是0;第二个是1,以此类推。
*方法indexOf()查找并返回子字符串起始的索引位置,如果查找的元素不存在,就返回-1,否则返回这个字符所在的索引。(lastIndexOf则返回子字符串结束的位置)
下面写一个判断用户数输入的Email地址中,是否包含@符号的例子:
1 <DOCTYPE html> 2 <html> 3 <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> 4 <head> 5 <title>js函数</title> 6 </head> 7 <script type="text/javascript"> 8 9 //让用户输入Email地址,检查输入是否包含@符号10 //使用PRompt方法,获取用户输入的Email地址,检查是否包含@符号,使用indexof返回@符号的索引11 var userInput=prompt("Please enter your email address","Email");12 if(Number(userInput.indexOf("@"))==-1)13 {14 document.write("对不起,您输入的Email不合法");15 }16 else17 {18 document.write("恭喜您,您输入的Email通过验证");19 }20 21 </script>22 <body>23 24 </body>25 </html>判断用户输入的Email中,是否包含@符号
substring()方法,使用字符串的起始位置和结束位置的索引作为参数,从另一个字符串中截取一个字符串。可以不使用第二个参数,来返回,从第一个索引到字符串结束的所有字符串。比如,我们要截取从第三个到第六个字符的所有字符,可以这样写:
注意:substring方法复制了它返回的子字符串,但它没有改变原来的字符串。
1 <DOCTYPE html> 2 <html> 3 <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> 4 <head> 5 <title>js函数</title> 6 </head> 7 <script type="text/javascript"> 8 9 10 //从起始位置,到结束位置11 var myhello="Hello Javascript World";12 var newMyhello= myhello.substring(0);13 document.write(newMyhello+"<br/>");14 15 //从第三个字符到第六个字符16 var myhello="Hello Javascript World";17 var newMyhello= myhello.substring(2,5);18 document.write(newMyhello+"<br/>");19 20 </script>21 <body>22 23 </body>24 </html>View Code
新闻热点
疑难解答