String对象表示Unicode字符的序列。
String对象的length属性说明了该字符串中的字符数。String类定义了大量操作字符串的方法。
JavaScript的字符串是不可变的,String对象定义的方法都不能改变字符串的内容。
字符串对象常用的属性有长度属性,即length。它用于获得字符串中字符的个数,见表 2.6。
表2.6 字符串的属性
与字符串格式控制相关的方法,见表 2.7。
表2.7 字符串与格式控制相关的方法
本节将主要介绍toLowerCase(),toUpperCase()方法,其他方法的介绍请参考附录部分。
例 2.10:
运行结果如图 2.4 所示。
图2.4 例 2.10 的运行结果
与字符串内容操作相关的方法,见表 2.8。
表2.8 与字符串的内容操作相关的方法
本节将主要介绍charAt(),indexOf(),lastIndexOf(),substr(),substring()方法。Match(),replace(),search(),split()方法将在第3章正则表达式一节中介绍,其他方法的介绍请参考附录部分。
下面的示例演示了与字符串内容操作相关的方法:
例 2.11:
运行结果如图 2.5 所示。
图2.5 例 2.11 的运行结果
charAt()方法用于获取指定索引位置的字符。字符串中字符的索引位置是从0 开始编号的,索引参数 9 实际是指第十个字的索引位置。
例 2.12:
运行结果如图 2.6 所示。
图2.6 例 2.12 的运行结果
indexOf()方法是从左往右查找,这样将返回参数第一次出现的索引位置;lastIndexOf()方法是从右往左查找,这样将返回参数最后一次出现的索引位置。
indexOf()和lastIndexOf()方法的参数,除了可以是单个字符之外,还可以是字符串,此时方法的作用是在字符串中查找作为参数的子字符串,返回值表示子字符串的首字符的索引位置。
不管参数是单个字符还是子字符串,当在字符串中查找不到它们时,返回值将为-1。
例 2.13:
运行结果如图 2.7 所示。
图2.7 例 2.13 的运行结果
substring()方法用于从字符串中提取一部分子字符串。它的第一个参数表示要提取的子字符串的起始的索引位置,第二个参数表示终止的索引位置。返回的子字符串中将包含起始位置的字符,但不包含终止位置的字符。
例 2.14:
运行结果如图 2.8 所示。
图2.8 例 2.14 的运行结果
substr()方法也可以从字符串中提取子字符串。它的第一个参数表示要提取的子字符串的起始索引位置,第二个参数表示要提取的字符的个数。
●JavaScript具有自定义对象的能力,支持封装、聚集、继承、多态,所以它是一门面向对象的语言。同时,它可以基于已有对象编程,包含ECMAScript的本地对象,作为宿主的浏览器运行环境提供的一组浏览器对象和包含脚本的网页提供的一组文档对象。
●本地对象是一组由ECMAScript提供的引用类型,它们是任何ECMAScript都会实现的一些对象,与特定的脚本宿主无关。
●数组对象实际上是长度动态增长的集合,它包含了长度属性和排序、反转、拼接等方法。
●日期对象表示某个特定的时刻。可通过它的构造函数获取浏览器本机的系统时间,或指定特定的日期时间,它包含一组get方法可用于获取日期对象中的某部分信息,也可用它的一组set方法改变日期对象的某些信息,或通过它的一组to方法获得日期对象的字符串形式。
●字符串对象表示 0 个或多个Unicode字符的序列。它包含了length属性,另有一组用于格式变换的方法和对其中的字符进行操作的方法。
1.使用Array对象存储 5 位学员的姓名,并在网页中输出,如图2.9 所示。
图2.9 输出结果
2.使用String对象的方法在网页上显示下标和上标的效果,如图2.10 所示。
图2.10 上标和下标
通过Date对象的常用方法获取当前日期的年、月、日,并组合成中文日期进行显示,如图 2.11 所示。
图2.11 日期全中文显示