内置对象
js的对象分为三种:内置对象 浏览器对象 自定义对象
内置对象:Math Date Array String Number Boolean
Math对象
Math对象不是构造函数,它具有数学常数和函数的属性和方法,都是以静态成员的方式提供
Math.PI--------圆周率 Math.abs(x)-------返回x的绝对值 正值 Math.ceil(x)--------向上取整 返回大于x的最小整数 Math.floor(x)-------向下取整 返回小于x的最大整数 Math.max(1x,2x,3x,....)--------返回参数中的最大值 Math.min(1x,2x,3x,....)--------返回参数中的最小值 Math.pow(x,y)--------返回x的y次方 Math.sqrt(x)-------返回x平方根 Math.random()--------返回[0,1)中任意一个浮点数 Math.round()---------返回四舍五入最接近整数的数,不是进1,时最接近的整数
获取当前时间,UTC世界时间,距1970年1月1日(世界标准时间)起的毫秒数
var now = new Date();
console.log(now.valueOf()); 获取距1970年1月1日(世界标准时间)起的毫秒数
Date构造函数的参数
1. 毫秒数 1498099000356 new Date(1498099000356)
2. 日期格式字符串 '2015-5-1' new Date('2015-5-1')
3. 年、月、日…… new Date(2015, 4, 1) 月份从0开始
获取日期指定部分
getTime() 返回毫秒数和valueOf()结果一样,valueOf()内部调用的getTime()
getMilliseconds()
getSeconds() 返回0-59
getMinutes() 返回0-59
getHours() 返回0-23
getDay() 返回当前月的第几天
getDate() 返回星期几 0周日 6周6
getMonth() 返回月份,***从0开始***
getFullYear() 返回4位的年份 如 2016
Array对象
字面量方式
1. 使用构造函数创建数组对象
创建了一个空数组
var arr = new Array();
创建了一个数组,里面存放了3个字符串
var arr = new Array('zs', 'ls', 'ww');
创建了一个数组,里面存放了4个数字
var arr = new Array(1, 2, 3, 4);
2. 使用字面量创建数组对象
var arr = [1, 2, 3];
获取数组中元素的个数
console.log(arr.length);
数组常用方法
1 栈操作(先进后出)
push()
pop() 取出数组中的最后一项,修改length属性
2 队列操作(先进先出)
push()
shift() 取出数组中的第一个元素,修改length属性
unshift() 在数组最前面插入项,返回数组的长度
3 排序方法
reverse() 翻转数组
sort(); 即使是数组sort也是根据字符,从小到大排序
带参数的sort是如何实现的?
4 操作方法
concat() 把参数拼接到当前数组
slice() 从当前数组中截取一个新的数组,不影响原来的数组,参数start从0开始,end从1开始
splice() 删除或替换当前数组的某些项目,参数start, deleteCount, options(要替换的项目)
5 位置方法
indexOf()、lastIndexOf() 如果没找到返回-1
6 迭代方法 不会修改原数组(可选)
every()、filter()、forEach()、map()、some()
7 方法将数组的所有元素连接到一个字符串中。
join()
清空数组
方式1 推荐
arr = [];
方式2
arr.length = 0;
方式3
arr.splice(0, arr.length);
String对象
字符串的不可变
var str = 'abc';
str = 'hello';
当重新给str赋值的时候,常量'abc'不会被修改,依然在内存中
重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变
由于字符串的不可变,在大量拼接字符串的时候会有效率问题
创建字符串对象
var str = new String('Hello World');
获取字符串中字符的个数
console.log(str.length);
1 字符方法
charAt() 获取指定位置处字符
charCodeAt() 获取指定位置处字符的ASCII码
str[0] HTML5,IE8+支持 和charAt()等效
2 字符串操作方法
concat() 拼接字符串,等效于+,+更常用
slice() 从start位置开始,截取到end位置,end取不到
substring() 从start位置开始,截取到end位置,end取不到
substr() 从start位置开始,截取length个字符
3 位置方法
indexOf() 返回指定内容在元字符串中的位置
lastIndexOf() 从后往前找,只找第一个匹配的
4 去除空白
trim() 只能去除字符串前后的空白
5 大小写转换方法
to(Locale)UpperCase() 转换大写
to(Locale)LowerCase() 转换小写
6 其它
search()
replace()
split()
fromCharCode()
String.fromCharCode(101, 102, 103); 把ASCII码转换成字符串