JavaScript中的对象分为3中;自定义对象/内置对象,浏览器对象javascript
Math对象java
Math.PI; 圆周率算法
Math.floor();向下取整数组
Math.ceil();向上取整浏览器
Math.max();最大值dom
Math.min();最小值函数
Math.randon();随机数code
获得一个数之间的随机整数,包括两个数在内对象
function getRandomIntInclusive(min,max){ return Math.floor(Math.random()*(max - min + 1)) + min; }
Date() 日期对象 是一个构造函数 必须使用new 来调用建立排序
var date = new Date(); console.log(date);//Wed Dec 04 2019 20:17:25 GMT+0800 (中国标准时间) var date1 = new Date(2019,10,1);//数字型 Fri Nov 01 2019 00:00:00 GMT+0800 (中国标准时间) console.log(new Date('2019-10-1 20:25:30'));//Tue Oct 01 2019 20:25:30 GMT+0800 (中国标准时间)
Date()方法的使用
日期格式化
console.log(console.log(new Date().getFullYear());//输出当前年
方法名 | 说明 | 代码 |
---|---|---|
getFullYear() | 获取当前年 | new Date().getFullYear(); |
getMonth() | 获取当前月(0-11) | new Date().getMonth(); |
getDate() | 获取当天日期 | new Date().getDate(); |
getDay() | 获取星期几(周日0 到周六6) | new Date().getDay(); |
getHours() | 获取当前小时 | new Date().getHours(); |
getMinutes() | 获取当前分钟 | new Date().getMinutes(); |
getSeconds() | 获取当前秒钟 | new Date().getSeconds(); |
console.log(new Date().valueOf());//1575543088420 如今据1970.01.01 00:00:00 总的毫秒数 console.log(new Date().getTime()); console.log(+new Date()); console.log(Date.now());
倒计时案例
核心算法:输入的时间减去如今的时间就是剩余的时间,及倒计时,可是不能拿着时分秒相减,好比05分减去25分,结果会是负数。
用时间戳来作。用户输入时间总的毫秒数减去如今时间的总的毫秒数,获得的就是剩余时间的毫秒数。
把剩余时间总的毫秒数转为天、时、分、秒(时间戳转换为时分秒)
转换公式:
function conutDown(time){ var nowTime= +new Date();// 返回的是当前时间总的毫秒数 var inputTime = +new Date(time);// 返回的时用户输入时间总的毫秒数 var times = (inputTime - nowTime) / 1000;//times是剩余时间总的秒数 var d=parseInt(times/60/60/24);//计算天数 d = d< 10 ? '0' + d : d; var h=parseInt(times/60/60%24);//计算小时 h = h < 10 ? '0' + h : h; var m=parseInt(times/60%60);//计算分数 m = m < 10 ? '0' + m : m; var s=parseInt(times%60);//计算当前秒数 s = s < 10 ? '0' + s : s; return d + '天' + h + '时' + m + '分' + s + '秒'; }
Array()
建立数组的方式
检测是否为数组
instanceof 元算符 它能够用来检测是否为数组
var arr=[]; var obj={}; console.log(arr instanceof Array); //true console.log(obj instanceof Array); //false
Array.isArray(参数);
添加删除数组元素方法
push() 在数组的末尾 添加一个或多个数组元素
var arr =[1,2,3]; arr.push(4);
【注意】
unshift 在数组的开头 添加一个或多个数组元素
方法名 | 说明 | 返回值 |
---|---|---|
push(参数1.。。) | 在数组的末尾 添加一个或多个数组元素 | 新数组的长度 |
pop() | 删除数组最后一个元素,把数组长度减一 无参数 修改原数组 | 返回删除的元素值 |
unshift(参数1.。) | 在数组的开头 添加一个或多个数组元素 | 返回新数组的长度 |
shift() | 删除数组的第一个元素,数组长度减1 无参数/修改原数组 | 并返回第一个元素的值 |
数组排序
方法名 | 说明 | 是否修改原数组 |
---|---|---|
reverse() | 点到数组中元素的顺序,无参数 | 该方法会改变原来的数组 返回新数组 |
sort() | 对数组的元素进行排序 | 该方法会改变原来的数组 返回新数组 |
数组索引方法
方法名 | 说明 | 返回值 |
---|---|---|
indexOf() | 数组中查找给定元素的第一个索引 | 若是存在返回索引号 若是不存在,则返回-1 |
lastIndexOf() | 在数组中的最后一个索引 | 若是存在返回索引号 若是不存在,则返回-1 |
数组去重案例
//核心算法:咱们遍历就数组,而后拿就数组元素去查询新数组,若是该元素中在新数组中没有添加,有就不添加 function unique(arr){ var newArr=[]; for (var i = 0 ; i <arr.length; i++){ if(newArr.indexOf(arr[i] === -1)){ newArr.push(arr[i]); } } return newArr; }
数组转换为字符串
方法名 | 说明 | 返回值 |
---|---|---|
toString() | 把数组转换成字符串,逗号分隔每一项 | 返回一个字符串 |
join('分隔符') | 方法用于把数组中的全部元素转换为一个字符串 |
字符串对象
字符串全部的方法,都不会修改字符串自己(字符串是不可变的)
var str = "abcd,abcd"; console.log(str.indexOf('c'));//2
案例:返回某个字符出现的位置以及次数
核心算法:先查找第一个o出现的位置
而后 只要indexOf返回的结果不是-1就继续日后查找
由于indexOf只能查找到第一个,因此后面的查找,利用第二个参数,当前索引加1,从而继续查找
var str="abcoefoxyozzopp"; var index =str.indexOf('o'); while(index !== -1){ console.log(index); str.indexOf('o',[index+1]); }
根据位置返回字符(重点)
方法名 | 说明 | 使用 |
---|---|---|
charAt(index) | 返回指定位置的字符(index 字符串的索引号) | str.charAt(0) |
charCodeAt(index) | 获取指定位置处字符的ASCII码(index索引号) | str.charCodeAt(0) |
str[index] | 获取指定位置处字符 | HTML5,IE8+和charAt()等效 |
字符串操做方法
方法名 | 说明 |
---|---|
concat(str1,str2,str3...) | concat()方法用于链接两个或多个字符串。拼接字符串,等效与+,+更经常使用 |
substr(start,length) | 从start位置开始(索引号),length取的个数 |
slice(start,end) | 从start位置开始,截取end位置,end取不到 |
substring(start,end) | 从start位置开始,截取到end位置,end取不到 基本和slice相同 可是不接受负值 |
替换字符
字符串转换为数组 split("分隔符")