对象
Javascript中的任何一个事物都是对象,如:字符串,函数,数组
内置对象
内置对象:浏览器自己封装好的对象,我们可以直接调用属性和方法
属性:对象的特性
方法:对象可以干嘛
对象之数组 Array
ECMAScript中的Array数组:
- 每一项都可以保存任意类型的数组(字符串,数值,布尔值等)
- 数组的大小可以动态调整
- 用来存储一组数据
创建数值
- 使用Array构造函数
语法:new Array ()
小括号说明:
1 预先知道数组要保存的项目数量
2 向Array构造函数中传递数组应包含的项

- 使用数组字面量表示法
由一对包含数组项的方括号[]表示,多个数组项之间以逗号隔开

数组元素的读写
读取的设置值时,使用方括号[]并提供相应的索引
说明:索引是从0开始的正整数

也可通过索引进行赋值

数组长度
语法: array.length
功能:获取数组array的长度
返回值:number

说明:
- 通过设置length可以从数组的末尾移除项或向数组中添加新项(不建议)

- 把一个值放在超出当前数组大小的位置上时,会重新计算数组的长度值,长度值等于最后一项索引+1

数组的遍历(循环)

##数组的栈方法
- push()
- unshift()
- pop()
- shift()
push()
语法:
arrayObject.push(newele1,newele2,....neweX)
功能:
把他的参数顺序添加到arrayObject的尾部
返回值:
把指定的值添加到数组后的新长度

unshift()
语法:
arrayObject.unshift(newele1,newele2,....neweX)
功能:
把他的参数顺序添加到arrayObject的开头
返回值:
把指定的值添加到数组后的新长度

返回值:

pop()
语法:
array()Object.pop()
功能:
删除arrayObject()的最后一个元素
返回值:
被删除的元素
shift()
语法:
array()Object.shift()
功能:
删除arrayObject()的第一个元素
返回值:
被删除的元素

数组的转换方法 join()
语法:
arrayObject.join(separator 分隔符)
功能:
用于把数组中的所有元素放入一个字符串
返回值:
字符串

数组的重排序方法
reverse()
语法:stringObject.reverse()
功能:
用于颠倒数组中的元素顺序(反序)
返回值:
数组

sort()
语法:
arrayObject.sort(sortby)
功能:
用于对数组的元素进行排序
返回值:
数组
说明:
- 即使数组中的每一项都是数值,sort()方法比较的也是字符串
- sort()方法可以接收一个比较函数作为参数


concat()
语法:
arrayObject.concat(arrayX,arrayX,...arrayX)
功能:
用于连接两个或多个数组
返回值:
数组

slice()
语法:
arrayObject.slice(start,end)
功能:
从已有的数组中返回选定的元素
参数:
start(必需):规定从何处开始选取,如是负数,从数组尾部开始算起
end(可选):规定从何处结束选取,是数组片段结束出的数组下标

说明:
- 如没指定end,切分的数组包含从start到数组结束的所有元素
- 如slice()方法的参数中有一个负数,则用数组长度加上该数来确定相应的位置
- start和end指的是数组中的索引值
- 截取从start和end(不包含该元素)的元素,即从start和end-1的元素
返回值:
数组

splice ()
删除
语法:
arrayObject.splice(index,count)
功能:
删除从index出开始的零个或多个元素
返回值:
含有被删除的元素的数组
说明:
count是要删除的项目数量,如果设置为0,则不会删除项目。如果不设置,则删除从index开始的所有值

插入
语法:
arrayObject.splice(index,0,item1,..itemX)
功能:
在指定位置插入值
参数:
Index:起始位置
0:要删除的项数
item1-itemX:要插入的值

替换
语法:
arrayObject.splice(index,count,item1,..itemX)
功能:
在指定位置插入值,且同时删除任意数量的项
参数:
Index:起始位置
count:要删除的项数
item1-itemX:要插入的值
返回值:
从原始数组中删除的项(如果没有删除项,则返回空数组)

两个位置方法
说明:
- 在比较第一个参数与数组中的每一项时,会使用全等操作符,即要求查找的项必须严格相等
- 数组的位置方法是ECMAScript5为数组实例新增的,所以支持的浏览器只有:IE9+,Firefox2+,Safari3+,Opera9.5+和Chrome
indexOf()
语法:
arrayObkect.indexOf(searchvalue,startIndex)
功能:
从数组的开头(0位置)开始向后查找
参数:
searchvalue:必需,要查找的项
startIndex:可选,起点位置的索引
返回值:
number,查找的项在数组中的位置,没有找到的情况下返回-1

lastIndexOf()
语法:
arrayObkect.lastIndexOf(searchvalue,startIndex)
功能:
从数组的末尾开始向前查找
参数:
searchvalue:必需,要查找的项
startIndex:可选,起点位置的索引
返回值:
number,查找的项在数组中的位置,没有找到的情况下返回-1

对象之string
charAt()和charCodeAt()
说明:
ECMAScript5中可使用“方括号加字符索引”来访问字符串中的特定字符,但是IE7及更早的浏览器会返回undefined
charAt()
语法:
stringObject.charAt(index)
功能:
返回stringObject中index位置的字符
charCodeAt()
语法:
stringObject.charCodeAt(index)
功能:
返回stringObject中index位置字符的字符编码

indexOf() lastIndexOf()
indexOf()
语法:
stringObject.indexOf("字符")
功能:
从一个字符串中搜索给定的子字符串,返回子字符串的位置,从左搜索
返回值:
数值
说明:
如果没有找到给子字符串,则返回-1
当字符多次重复时,返回第一个检测到的字符的索引位置
indexOf()
语法:
stringObject.lastIndexOf("字符")
功能:
从一个字符串中搜索给定的子字符串,返回子字符串的位置,从右搜索
返回值:
数值
说明:如果没有找到给子字符串,则返回-1

截取字符串
slice()
(与数组相同)
语法:
stringObject.slice(start,end)
功能:
截取子字符串
参数说明:
- start:必须,指定子字符串的开始位置
- end:可选,表示子字符串到哪里结束,end本身不在截取范围之内,省略是截取至字符串的末尾
- 当参数为负数时,将负数与长度值相加

substring
说明: 语法及功能同slice()完全一样
区别:
- 当参数为负数时,自动将参数转换为0
- substring会将较小的数作为开始位置,将较大的数作为结束位置

substr()
语法:
stringObject.substr(start,len)
功能:
截取字符串
参数说明:
- start:必须,指定子字符串的开始位置
- len:可选,表示截取的字符总数,省略时截取至字符串的末尾
- 当start为负数时,会将传入的负值与字符串的长度相加
- 当len为负数时,返回空字符串

split()
语法:
stringObject.split(separator)
功能:
把一个字符串分割成字符串数组
返回值:
Array
说明:
separator:必须,分隔符

replace()
语法:
stringObject.replace(regexp/substr,replacaement)
功能:
在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串
返回值:
string(被替换后的字符串,不会改变原字符串样式)
参数:
regexp:必需,规定子字符串或要替换的模式的RegExp对象
replacement:必需,一个字符串值

缺点:只能替换一个
toUpperCase()与toLowerCase()
不修改原字符串,只生成副本
语法:
stringObject.toUpperCase()
功能:
把字符串转换为大写
语法:
stringObject.toLowerCase()
功能:
把字符串转换为小写

小栗子:
