1. Math对象
1.1 取整
parseInt 取整 舍弃小数部分
Math.floor 向下取整 舍弃小数部分
Math.ceil 向上取整 有小数就进位
Math.round 四舍五入
1.2 数学方法
Math.max(数值1,数值2,数值3.....) 找序列中最大的值
Math.min(数值1,数值2,数值3.....) 找序列中最小的值
Math.abs 取绝对值
Math.sqrt 开根号
Math.pow(num,n) 次方幂 num底数 n 次方幂
1.3 随机数
Math.random() 随机生成0-1之间的数据 包括0不包括1
随机生成min到max之间的整数
Math.floor( Math.random() * (max - min + 1) + min )
2.时间对象Date
月份单词
January:一月 February:二月 March:三月 April:四月
May:五月 June:六月 July:七月 August:八月
September:九月 October:十月 November:十一月 December:十二月
2.1 创建时间对象
创建当前时间对象
<script>
// 1.创建当前这一时刻的时间对象
var oDate = new Date();
console.log(oDate);// Thu Sep 01 2022 09:57:06 GMT+0800 (中国标准时间)
// 2.创建每秒的时间
setInterval(function(){
var a = new Date();
// console.log(a,"现在时刻");
},1000)
</script>
创建自定义时间
//a. 自定义的时间是一个字符串
var sDate = new Date("2023,1,1,12:00:00");
var sDate = new Date("2023 1 1 12:00:00");
var sDate = new Date("2023/1/1 12:00:00");
var sDate = new Date("2023-1-1 12:00:00");
console.log(sDate);//Sun Jan 01 2023 12:00:00 GMT+0800 (中国标准时间)
//b. 时间分开接受参数 创建2023年10月1日 12:00:00的时间
// 问题 想创建10月 但是结果出来的是11月
// 分析原因: 月份是从0开始的 0-1月 10-11月
var aDate = new Date(2023,9,1,12,0,0) //想创建10月 就给9
console.log(aDate);// Sun Oct 01 2023 12:00:00 GMT+0800 (中国标准时间)
var bDate = new Date(2023,9,1);
console.log(bDate);// Sun Oct 01 2023 00:00:00 GMT+0800 (中国标准时间)
2.2 获取时间
获取特定格式的时间
var oDate = new Date();
// 年月日 时分秒 日期
console.log(oDate);//Thu Sep 01 2022 10:39:02 GMT+0800 (中国标准时间)
// 1.获取特定格式的时间 年 月 日
console.log(oDate.toDateString());//Thu Sep 01 2022
console.log(oDate.toLocaleDateString());//2022/9/1
// 2.获取特定格式的时间 时 分 秒
console.log(oDate.toTimeString());//10:41:30 GMT+0800 (中国标准时间)
console.log(oDate.toLocaleTimeString());// 10:42:02
- 获取单个时间
// 3.获取单个时间
// 年
console.log(oDate.getFullYear());//2022\
// 月 月份是从0开始 0----1月份 8----9月份
console.log(oDate.getMonth() + 1);//9
// 日
console.log(oDate.getDate());// 1
// 时
console.log(oDate.getHours());
// 分钟
console.log(oDate.getMinutes());
// 秒
console.log(oDate.getSeconds());
// 星期 ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]
console.log(oDate.getDay());//4
- 获取时间戳
// 4.获取现在的时间戳 1970年1月1日0:0:0 到现在时刻的毫秒
console.log(oDate.getTime())
// 5.获取未来时间的时间戳 1970年1月1日0:0:0 到2023年10月1日的毫秒
var sDate = new Date("2023,10,1")
console.log(sDate);//Sun Oct 01 2023 00:00:00 GMT+0800 (中国标准时间)
console.log(sDate.getTime());//1696089600000
2.3 倒计时
实现思路:倒计时 未来时间的时间戳-现在时间的时间戳 = 差值(毫秒单位)
==注意==
1天 24 * 60 * 60 86400s
1时 60*60 3600s
1分 60 60s
<script>
auto();
setInterval(auto, 1000)
function auto() {
// 1.倒计时 未来时间的时间戳-现在时间的时间戳 = 差值(毫秒单位)
// 创建未来时间
var futureDate = new Date("2022,9,3");
// 创建现在时间
var currentDate = new Date();
// 时间差 毫秒单位转成秒 1s = 1000ms
var time = futureDate.getTime() - currentDate.getTime();
time = parseInt(time / 1000);
// console.log(time);// 131680
// 将time 转为 天 时 分 秒
/*
1天 24*60*60 86400s
1时 60*60 3600s
1分 60 60s
*/
var t = parseInt(time / 86400);
console.log(t);
var h = parseInt((time % 86400) / 3600);
console.log(h);
var m = parseInt((time % 86400 % 3600) / 60);
console.log(m);
var s = time % 60;
console.log(s);
// 将结果显示在页面上
document.body.innerHTML = "还剩余" + suppleZero(t) + "天" + suppleZero(h) + "时" + suppleZero(m) + "分" + suppleZero(s) + "秒"
}
function suppleZero(num) {
return num < 10 ? "0" + num : num;
}
</script>
3.字符串对象
3.1 创建字符串对象
字面量创建
// 1.字面量创建 (包装类对象 是使用字符串的方法的之后 会暂时将自己伪装成一个对象)
var str1 = "0711web";
console.log(str1);//0711web
console.log(typeof str1);// string
console.log(str1.length);// 7
- new关键字创建
// 2.new 关键字创建
var str2 = new String("0711web");
console.log(str2);//String {'0711web'}
console.log(typeof str2);// object
console.log(str2.length);//7
3.2 字符串的方法
length
获取字符串长度
charAt
语法:str.charAt(下标)
作用 :获取下标对应的字符
// length
console.log(str1.length);//7
// charAt(下标)
console.log(str1.charAt(6));//b
charCodeAt
语法:str.charCodeAt(下标)
作用 :获取下标对应的字符编码
// charCodeAt(下标) "A"----65 "a"----97 "0"----48
console.log(str1.charCodeAt(0));//48
indexOf
从左往右查找
语法:str.indexOf(searchValue,index)
作用 :查询一个字符串在另一个字符串中首次出现的位置 如果出现则是返回该字符串的下标位置 没有找到则是返回-1
参数
searchValue:必需参数 需要查询的字符串
index:可选值 开始查找的位置 默认是从下标0开始查找
// indexof
var str2 = "webuiwebuiwebui";
var s = "ui";
console.log(str2.indexOf(s));// 3 ui的u的下标
var s1 = "java"
console.log(str2.indexOf(s1));// -1
var s3 = "ui";
console.log(str2.indexOf(s3,5));//8
var str3 = "uiwebui";
var s4 = "ui";
console.log(str3.indexOf(s4));//0
lastindexof
从右往左查找
语法 :str.lastindexOf(searchvalue,index)
作用 :从字符串后面开始往前查找第一次出现的目标位置 如果找到返回正常的索引值 如果找不到则是返回-1
参数
searchValue: 必需参数 需要查询的字符串
index:可选值 开始查找的位置 默认是从str.length-1开始查找
// lastindexOf 了解
var str = "webuiwebjava";
var s1 = "web"
console.log(str.lastIndexOf(s1));//5
console.log(str.lastIndexOf(s1,3));//0
字符串截取方法
substring
语法:str.substring(start,end)
作用:截取介于两个指定下标之间的字符 包括start不包括end
参数
start 开始截取的下标 可选值 默认是0
end 结束截取的下标 可选值 默认是str.length
// 1.substring(start,end)
var str1 = "webuiwebuiwebui";
console.log(str1.substring());// webuiwebuiwebui
console.log(str1.substring(2));// buiwebuiwebui
console.log(str1.substring(2,4));// bu
slice
语法:str.slice(start,end)
作用:截取介于两个指定下标之间的字符 包括start不包括end
参数
start 开始截取的下标 可选值 默认是0
end 结束截取的下标 可选值 默认是str.length
// 2.slice(start,end)
var str2 = "webuiwebuiwebui";
console.log(str2.slice());//webuiwebuiwebui
console.log(str2.slice(3));//uiwebuiwebui
console.log(str2.slice(3,6));//uiw
slice和substring的区别
substring 会自动调整位置 slice不会自动调整位置
substring 碰见负数会默认为0 slice碰见负数认为倒数第几个
// 3.区别
var str3 = "abcdefg";
console.log(str3.substring(2,0));//ab 自动调整位置 (0,2)
console.log(str3.slice(2,0));//" " 不会自动调整位置
console.log(str3.substring(2,-1));//ab 负数会默认为是0
console.log(str3.slice(2,-1));//cdef 负数默认为倒数第几个
var str4 = ["[object Object]","[object Function]","[object Array]"];
console.log(str4[0].slice(8,-1));//Object
console.log(str4[1].slice(8,-1));//Function
console.log(str4[2].slice(8,-1));//Array
for(var i = 0;i<str4.length;i++){
console.log(str4[i].slice(8,-1))
}
substr
语法 str.substr(start,length)
作用:从哪开始截取 截取几个
var str = "110123200010010987";
console.log(str.substr(6,4))// 2000
大小写转换
toUpperCase
语法 str.toUpperCase() 转大写
toLowerCase
语法 str.toLowerCase() 转小写
验证码不区分大小写
<script>
var str = "ABcdeff";
console.log(str.toUpperCase());"ABCDEFF"; //转大写
console.log(str.toLowerCase());"abcdeff"; //转小写
// 验证码不区分大小写
var str1 = "OpXy"; //系统给的验证码
var str2 = "apxy"; //用户输入的验证码
if(str1.toLowerCase() == str2.toLowerCase()){
console.log("用户输入正确")
}
</script>
replace
语法 str.replace(searchValue,replaceValue)
作用 替换字符串中的某个字符 返回一个新的字符串 默认一次只能替换一个
参数
searchValue 必需 将要被替换的字符串
replaceValue 必需 替换的字符
// replace(searchValue,replaceValue)
var str = "Webuiwebuiwebui";
var newStr = str.replace("web","java");//将web字符串替换成java
console.log(newStr,str)
trim
语法 str.trim()
作用 去除字符串的首尾空格
// trim 去除字符串的首尾空格
var str = " webui webui ";
console.log(str.trim());
split
语法:str.split(分割标识)
作用:将字符串根据特定标识分割成数组
// split 将字符串根据特定标识分割成数组
var date = "2022-9-1";// [2022,9,1]
var newDate = date.split("-");
console.log(newDate,date);// ['2022', '9', '1'] '2022-9-1'
var name = "澄邈、德泽、海超"
console.log(name.split("、"));// ['澄邈', '德泽', '海超']