字符串
Demo: var str = "Hello World";
str[2];//下标索引 IE8及以上能用
str.charAt[2];下标索引 兼容所有浏览器
str.charCodeAt(0);//返回对应序号字符的ANSI码
String.fromCharCode(number);//返回ANSI码对应的字符
str.indexOf(‘world’);//返回对应字符位置
str.indexOf(‘w’, number);//从number位置开始查找str.toUpperCase()//大写
str.toLowerCase()//小写
字符串处理
stringObject.split(separator,howmany);//split() 方法用于把一个字符串分割成字符串数组。,返回数组
separator:必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany:可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
arrayObject.splice(index,howmany,item1,.....,itemX)//splice() 方法从 数组/字符串 中添加/删除项目,然后返回被删除的项目。
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组/字符串添加的新项目。
返回值
包含被删除项目的新数组/字符串,如果有的话。
stringObject.substring(start,stop);substring() 方法用于提取字符串中介于两个指定下标之间的字符。
start:必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop:可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
返回值:一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。
注意:参数为负,自动调整为0
arrayObject.slice(start,end);//slice() 方法可从已有的 数组/字符串 中返回选定的元素。
start:必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end:可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
返回值:返回一个新的数组/字符串
数组
Demo: var arr = [100,'hello',false,function(){},null,window];
arr.length 数组的length可读可写,字符串只可读
arr[0] 数组的下标可读可写,字符串只可读demo:
var arr = []; arr[0] = 1; arr[8] = '阿飞'; console.log( arr.length );//长度为9
数组方法
arr.push // push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.push("Kiwi")
arr.unshift();// 方法可向数组的开头添加一个或更多元素,并返回新的长度。
arrayObject.unshift(newelement1,newelement2,....,newelementX)
newelement1 必需。向数组添加的第一个元素。
newelement2 可选。向数组添加的第二个元素。
newelementX 可选。可添加若干个元素。
arrayObject.pop() //pop() 方法用于删除并返回数组的最后一个元素。
说明
pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。
arrayObject.shift() //shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
说明
如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。
arrayObject.splice(index,howmany,item1,.....,itemX)//splice() 方法从 数组/字符串 中添加/删除项目,然后返回被删除的项目。
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组/字符串添加的新项目。
返回值
包含被删除项目的新数组/字符串,如果有的话。
sort() 方法用于对数组的元素进行排序。
arrayObject.sort(sortby)
sortby: 可选。规定排序顺序。必须是函数
返回值
对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
说明
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
- 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
- 若 a 等于 b,则返回 0。
- 若 a 大于 b,则返回一个大于 0 的值。
Demo:
<script type="text/javascript"> var arr = new Array(6) arr[0] = "10" arr[1] = "5" arr[2] = "40" arr[3] = "25" arr[4] = "1000" arr[5] = "1" document.write(arr + "<br />") document.write(arr.sort()) </script>
输出
10,5,40,25,1000,1 1,10,1000,25,40,5 //这里是按照第一个数字进行排序了
上面的代码没有按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数:
<script type="text/javascript"> function sortNumber(a,b) { return a - b } var arr = new Array(6) arr[0] = "10" arr[1] = "5" arr[2] = "40" arr[3] = "25" arr[4] = "1000" arr[5] = "1" document.write(arr + "<br />") document.write(arr.sort(sortNumber)) </script>
join() 方法用于把数组中的所有元素放入一个字符串。
元素是通过指定的分隔符进行分隔的。
arrayObject.join(separator)
separator 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
返回值
返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入 separator 字符串而生成的。
concat() 方法用于连接两个或多个数组。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
arrayObject.concat(arrayX,arrayX,......,arrayX)
arrayX 必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。
返回值
返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。
demo1:
<script type="text/javascript"> var a = [1,2,3]; document.write(a.concat(4,5)); </script>
输出: 1,2,3,4,5
demo2:
<script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" var arr2 = new Array(3) arr2[0] = "James" arr2[1] = "Adrew" arr2[2] = "Martin" document.write(arr.concat(arr2)) </script>
输出: George,John,Thomas,James,Adrew,Martin