JS基础部分之几个对象的总结
一、Math数学对象
1.Math对象,针对于数字。
2.Math.random() 取[0,1)之间的浮点数。
如果想得到[a,b]的随机整数:
var randomNum=parseInt(Math.random()*(b-a+1)+a);
3.取最大值
var a=Math.max(1,5,7);
4.取最小值
var a=Math.min(1,2,7);
5.向上取整
var a=Math.ceil(1.4);
6.向下取整
var a=Math.floor(1.8);
7.四舍五入
var a=Math.round(2.6);
8.绝对值
var a=Math.abs(-6);
9.次方
var a=Math.pow(5,2);
10.平方根,开平方
var a=Math.sqrt(4);
二、Array对象
1.push() 在尾部添加元素 返回值为添加的元素之后的数组容量
不管有没有接收返回值,都将元素添加到数组里面
var arr=[1,2,3];
var b=arr.push(6);
添加之后arr=[1,2,3,6]; b=4;
2.unshift() 在头部添加 元素添加位置在数组头部 返回值为添加元素之后的数组的容量
var arr=[1,2,3,4,5];
var count2=arr.unshift(7);
3.pop() 删除尾部元素 一次只能删除一个 返回值为被删除的那个元素
并且数组本身最后一个元素也被删除
var arr=[1,2,3,8,12];
var count3=arr.pop();
4.shift() 删除头部元素 只能删一个 返回值为被删除的那个元素
并且数组本身第一个元素也被删除
var arr=[1,2,3,8,12];
var count4=arr.shift();
5.splice() 既可以进行添加删除的操作,又可以进行替换的操作
添加的元素的个数可以不跟删除的元素的个数相同
返回值是被替换的元素构成的数组 如果删除0个元素,返回值没有任何意义,是一个空数组
var arr=[1,2,3,8,12];
var count7=arr.splice(1,2,6,7,8,9);
//从下标为1的地方删除2个元素,并且将6,7,8,9从下标为1的地方添加到数组里面
6.sort() 数组排序 能实现数组的排序,但是是按照ASCII表的顺序排序,只能挨个数字和字母比较
var arr=[12,8,9,5,3,28];
var d=arr.sort();
//实现真正的排序
function sort1(a,b){
return a-b;
}
console.log(arr.sort(sort1))
7.concat() 数组的拼接 实现两个数组的拼接
var newArr1=arr.concat([7,12,19]);
var newArr2=arr.concat(arr2);
8.join() 数组元素之间添加分割符
var arr=[12,8,9];
var str=arr.join("&");
三、字符串对象
1.String() 将数字转换为字符串
var str = String(10);
2.toString() 将数字转换为字符串
var a = 20;
var str1 = a.toString();
3.charAt() 返回字符串中的某一位 参数传的是单个值,数字和字符串都可以
var str = "hello world";
console.log(str.charAt(6)); //w
console.log(str.charAt('6')); //w
4.search() 查找,返回的是位置 如果找不到返回的是-1
得到的是传入的字符串在原来的字符串的位置
indexOf() 和search() 用法相似,区别在于:
search传入的都是符合正则验证的字符串 indexOf可以传入任何类型的字符串
var str = "松江区.泗泾镇.九干路”;
console.log(str.search("泗泾镇")); //4
console.log(str.indexOf("泗泾镇")); //4
console.log(str.search(".")); //0
console.log(str.indexOf(".")); //3
5.slice() 字符串的截取 传入两个参数,一个代表start,一个代表end
从start位置开始截取,截取到end位置之前的最后一个字符
截取出来的字符串长度为end-start
如果参数为负数,则将负数加上字符串长度,转换成整数之后再进行截取
如果负数的绝对值大于字符串的长度,start按照0算
如果start大于end将返回空字符串
var str = "hello world";
console.log(str.slice(1, 7));
console.log(str.slice(-7, 7));
6.substring() 字符串的截取 和slice的区别:
参数如果为负数,直接变为0,然后运算
两个参数不需要保证前面的一定小于后面的,取两者中小的作为start
7.substr() 字符串的截取 第一个参数代表起始位置,第二个参数代表截取长度
console.log(str.substr(3, 7));
substring 和 slice如果给定一个参数,将从这个参数开始截取到最后
console.log(str.substring(3));
console.log(str.slice(3));
8.replace() 用第二个参数将第一个参数替换掉
var str = "hello world";
console.log(str.replace("hello", "hi"))
9.split() 把一个字符串分割成字符串数组,一般和正则一起用
将字符串按照给定的内容精选分割,得到一个数组
console.log(str.split(" "));
10.cancat() 将一个字符串或多个字符串拼接起来,获得一个新的字符串
+号可以直接拼接,运算符重载
console.log(str.concat("hahaha"));
11.lastIndexOf() 返回最后一个满足条件的下标
indexOf()返回的是第一个满足条件的下标
var str = "hello world hello hello world";
console.log(str.indexOf("hello")); //0
console.log(str.lastIndexOf("hello")); //18
四、Date日期对象
1.构建日期对象
获取的的是当前时间
星期 月 日 年 时 分 秒 时区(相对于0时区)
var nowDate = new Date();
console.log(nowDate);
console.log(typeof(nowDate)); //object
2.将日期字符串转换为日期对象
日期对象对象有两种:
yyy/MM/dd hh:mm:ss
yyy-MM-dd hh:mm:ss,在IE下转换失败
如果字符串yyy/MM/dd里面不给定时间,默认时间00:00:00
如果字符串yyy-MM-dd里面不给定时间,默认时间为当前时区时间
var d = new Date("2016/11/22 11:52:30");
console.log(d);
var d = new Date("2016-11-22 11:52:30");
console.log(d);
var d = new Date("2016/11/22");
console.log(d);
var d = new Date("2016-11-22");
console.log(d);
3.直接给定值
可以单独给的年月日 时分秒 毫秒
月份给值是0~11的,0代表1月,11代表12月
小时 0~23
分钟,秒 0~59
毫秒 0~999
var d = new Date(1993, 0, 30);
var newD = new Date(2017, 0, 1);
4.get方法
var d = new Date();
var year = d.getFullYear(); //获取4位数的年份
var month = d.getMonth(); //获取月份,从0开始,0表示1月
var Date = d.getDate(); //获取月份中的天数,日期
var Day = d.getDay(); //获取是周几,从0开始,0是周天
var hour = d.getHours(); //获取小时
var Minutes = d.getMinutes(); //获取分钟
var second = d.getSeconds(); //获取秒
var m = d.getMilliseconds(); //获取毫秒
var time = d.getTime(); //获取从1970年1月1日到现在的毫秒数
5.日期对象的设置方法
通过set方法可以将日期对象中的某一个值改掉
var myDate = new Date();
myDate.setFullYear(2017);
console.log(myDate);
myDate.setMonth(1);
console.log(myDate);
6.日期对象转换为字符串对象的方法
var myDate = new Date();
console.log(myDate.toString());
console.log(myDate.toLocaleString())
7.日期对象的两个静态方法
快捷获取当前日期和1970.1.1之间 的毫秒数
console.log(Date.now());
快捷获取某一个日期与1970.1.1之间 的毫秒数
console.log(Date.parse("2016/11/22 15:23:00"));