本附录主要介绍在第2章、第3章中未详细介绍的本地对象的属性和方法。
1.数组对象
描述了数组对象的部分方法,见表附录1.1。
表附录1.1 数组对象的方法
以下分别介绍这些方法。
➢reverse()
reverse()方法用于颠倒数组中元素的顺序。语法如下:
arrayObject.reverse()
该方法会改变原来的数组,而不会创建新的数组。
在下面的示例中,我们将创建一个数组,然后颠倒其元素的顺序。
例附录1.1:
➢splice()
splice()方法用于插入、删除或替换数组的元素。语法如下:
arrayObject.splice(index,howmany,element1,…,elementX)
参数见表附录1.2。
表附录1.2 splice()方法的参数
返回值:
如果从arrayObject中删除了元素,则返回的是含有被删除的元素的数组。
splice()方法可删除从index处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
splice()方法与slice()方法的作用是不同的,splice()方法会直接对数组进行修改。
在下例中,我们将创建一个新数组,并向其添加一个元素。
例附录1.2:
在下例中我们将删除位于index 2的元素,并添加一个新元素来替代被删除的元素。
例附录1.3:
在下例中我们将删除从index 2("Thomas")开始的3个元素,并添加一个新元素("William")来替代被删除的元素。
例附录1.4:
➢push()
push()方法可向数组的末尾添加一个或多个元素,并返回新的长度。语法如下:
arrayObject.push(newelement1,newelement2,…,newelementX)
参数描述见表附录1.3。
表附录1.3 push()方法的参数
返回值:
把指定的值添加到数组后的新长度。
push()方法可把它的参数顺序添加到arrayObject的尾部。它直接修改arrayObject,而不是创建一个新的数组。push()方法和pop()方法使用数组提供的类似于栈的先进后出的功能。
该方法会改变数组的长度。另外,要想数组的开头添加一个或多个元素,请使用unshift()方法。
在下例中,我们将创建一个数组,并通过添加一个元素来改变其长度。
例附录1.5:
➢pop()
pop()方法用于删除并返回数组的最后一个元素。语法如下:
arrayObject.pop()
返回值:
arrayObject的最后一个元素。
pop()方法将删除arrayObject的最后一个元素,把数组长度减1,并且返回它删除的元素的值。如果数组已经为空,则pop()不改变数组,并返回undefined值。
在下例中,我们将创建一个数组,然后删除数组的最后一个元素。注意,这也会改变数组的长度。
例附录1.6:
➢unshift()
unshift()方法可向数组的开头添加一个或更多元素,并返回新的长度。语法如下:
arrayObject.unshift(newelement1,newelement2,…,newelementX)
参数描述见表附录1.4。
表附录1.4 unshift()方法的参数
返回值:
arrayObject的新长度。注意:在IE中此方法返回undefined。
unshift()方法将把它的参数插入arrayObject的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素0,如果还有第二个参数,它将成为新的元素1,以此类推。
unshift()方法不创建新的数组,而是直接修改原有的数组,该方法会改变数组的长度。要把一个或多个元素添加到数组的尾部,请使用push()方法。
在下例中,我们将创建一个数组,并把一个元素添加到数组的起始位置,并返回数组的新长度。
例附录1.7:(www.xing528.com)
➢shift()
shift()方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。语法如下:
arrayObject.shift()
返回值:
数组原来的第一个元素的值。
如果数组是空的,那么shift()方法将不进行任何操作,返回undefined值。该方法不创建新数组,而是直接修改原有的arrayObject。
该方法会改变数组的长度。要删除并返回数组的最后一个元素,请使用pop()方法。
在下例中,我们将创建一个数组,并删除数组的第一个元素。请注意,这也将改变数组的长度。
例附录1.8:
2.字符串对象
字符串对象的部分方法,见表附录1.5。
表附录1.5 字符串对象的方法
下面的示例演示了上表中与字符串格式控制相关的一组方法。
例附录1.9:
运行结果如图附录1.1所示。
图附录1.1 例附录1.9的运行结果
下面的示例演示了一组个字符串的运算相关的一组方法。
例附录1.10:
运行结果如图附录1.2所示。
图附录1.2 例附录1.10的运行结果
3.全局对象
全局对象的部分方法,它们可以直接作为全局函数使用,见表附录1.6。
表附录1.6 全局对象的方法
➢encodeURI()和decodeURI()
encodeURI()函数可把字符串作为URI进行编码。参数中的某些字符将被十六进制的转义序列进行替换。该方法不会对以下3种字符进行编码:
ASCII基本字符,包含大小写字母和数字;
ASCII标点字符,包含“-”“_”“.”“!”“~”“*”“'”“(”“)”;
URI保留字符,包含“;”“/”“?”“:”“@”“&”“=”“+”“$”“,”“#”。
decodeURI()函数可对encodeURI()函数编码过的URI进行解码。参数中的十六进制转义序列将被它们表示的字符替换。
例附录1.11:
如果URI中含有分隔符,比如?和#,则应当使用encodeURIComponent()方法分别对各组件(URL中的一部分)进行编码,相应地,解码由decodeURIComponent()方法实现。
4.数学对象
描述了作为数学对象的静态属性的数学常数,见表附录1.7。
表附录1.7 数学常数
下面的示例演示了表附录1.7中的数学常数的使用。
例附录1.12:
运行结果如图附录1.3所示。
图附录1.3 例附录1.12的运行结果
描述了作为数学对象静态方法的数学函数,见表附录1.8。
表附录1.8 数学函数
下面的示例演示了表附录1.8中的数学函数的使用。
例附录1.13:
运行结果如图附录1.4所示。
图附录1.4 例附录1.13的运行结果
5.正则表达式对象
RegExp支持一些静态属性。在使用正则表达式对象对字符串执行搜索的过程中,一旦匹配成功,这些静态属性的值将自动更新,以反映匹配的结果。
描述了RegExp的静态属性,见表附录1.9。
表附录1.9 RegExp的静态属性
以下示例演示了在全局匹配时,使用静态属性获取每次匹配的结果。
例附录1.14:
运行结果如图附录1.5所示。
图附录1.5 例附录1.14的运行结果(1)
第二次搜索的结果如图附录1.6所示。
图附录1.6 例附录1.14的运行结果(2)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。