Javascript--关于对象

224 阅读6分钟

对象

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()

功能:

把字符串转换为小写

小栗子: