JavaScript对象简介(一)
本节介绍js的9个对象:Array数组对象 Boolean(true false) Date日前对象 Math 数学对象 Number 数字对象 String 字符串对象 RegExp 正则表达式对象 Function函数对象 Events 事件对象
Array数组对象
创建Array对象
new Array() //length字段为0,数组为空
new Array(size) //创建指定长度对象 ,数组元素为undefined
new Array(e1,e2,…)//创建具有指定值得数组
Array对象属性
属性 | 描述 |
constructor | 返回对创建此对象的数组函数的引用 |
length | 数组长度 |
prototype | 对象原型,可以对该对象添加属性和方法 |
Array对象方法
方法 | 描述 |
数组排序 sort(sortby) | 默认按照ascii升序排序,如果定义sortby排序函数,应该返回一个整数值表示> = < |
数组--à字符串 toString()
join(seperator) | 将数组所有元素输出,元素间用逗号间隔,与没有参数的join一样 用sepeartor分割数组元素 |
数组合并与添加元素 concat(data1,data2,。。。) concat(array1,array2,。。。) | 注意: 该方法不会改变现有数组,而仅仅返回被连接数组的一个副本,即返回一个新数组。 注意对length属性的影响 新数组的length=原数组length+形参个数(若形参为数组,则加上数组长度) |
数组添加 push(newEle1,newEle2,。。。) unshift(newEle1,newEle2,。。。)
数组删除 pop(); shift(); | 添加到原数组尾部,返回新的长度, 要想数组开头添加元素,用unshift(方法) 注意,形参也可以是一个数组,此时数组长度length并不是数组中元素数目,而是形参个数+原数组长度 利用此可以创建多维数组 pop 删除并返回数组最后一个元素,长度-1,并且如果数组为空,返回undefined,要想数组开头删除元素,用shift |
数组截取 slice(start,end) [start,end)半开区间
splice(index,howmany,item1,…) | 返回一个新的数组,并不影响原数组 end可以省略 start end 都可以为负数,表示从尾部开始计数,-1为最后一个元素
修改原数组 inde下标,howmany要删除多少个【index,index+howmany),如果为0,表示插入新元素 Item…替换删除的元素 返回值:包含被删除项目的新数组,如果有的话 |
reverse() | 颠倒数组中的元素,在原数组上 |
Date日期对象
Date对象的方法
方法 | 描述 |
日期字符串 toString() valueOf() | |
Date() | 返回当前日期和时间 |
getDate()一月中的某月1~31 getDay() 一周的某一周 0~6 getMonth() 月份 0~11 getFullYear() 年份 4位数字 | |
getHours() 小时0~23 getMinutes()分钟 0~59 getSeconds()秒0~59 | |
set。。。() | |
toLocaleDateString() | 日期表示为本地日期格式 |
toLocaleTimeString() | 时间表示为本地时间格式 |
Math数学对象
通常把Math作为对象使用,而不能构造一个数学对象
方法 | 描述 |
abs(x) 绝对值 sqrt(x) 平方根 max(x,y)最大值 min(x,y)最小值 pow(x,y) Xy | |
ceil(x) 向上取整 floor(x) 向下取整 round(x) 四舍五入 | |
random()返回0~1之间的随机数 |
Number数值对象
属性
属性 | 描述 |
MAX_VALUE | 可表示的最大数 |
MIN_VALUE | 可表示的最小数 |
NaN | 非数字值 |
NEGATIVE_INFINITY | 负无穷大,溢出时返回该值 |
POSITIVE_INFINITY | 正无穷大,溢出时返回该值 |
方法
toString(radix) 转换成radix进制的数
Functions函数对象
全局属性和函数可用于所有内建的Javascript对象
顶层函数(全局函数)
URI的编码解码 decodeURI(URIString) encodeURI(URIString) | 解码某个编码的URI 对URI进行编码 test1=http://www.w3school.com.cn/My first/ encodeURI(test1) decodeURI(test1) http://www.w3school.com.cn/My%20first/ http://www.w3school.com.cn/My first/ |
parseInt(string,radix)第一个字符不是数字则不能解析返回NaN parseFloat(string)同理 Number(obj)同理 为日期返回毫秒数 为布尔值返回0/1 String(obj) | 解析一个字符串返回一个整数 当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。举例,如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。 |
isNaN() | 是否是非数字值 |
全局属性
属性值 | 描述 |
Inifinity | 代表正的无穷大的数值 |
NaN | 指示某个值不是数字值 |
undefined | 指示未定义的值 |
NaN属性用于引用特殊的非数字值
Undefined属性用于存放js中的undefined值
无法使用for/in循环枚举NaN/undefined属性,也不能用delete运算符删除它
NaN/undefined不是常量,可以把它设置为其他值
当尝试读取不存在的对象属性是也会返回undefined
只能用==来测试某个值是否未定义的,因为==认为undefined值等价于null
Null表示无值,undefined表示一个未声明的变量,或者已经声明但是没有复制的变量,或者一个并不存在的变量