day09Math对象和Date对象及String对象
1.Math对象
1.1取整
-
parseInt
-
Math.floor() 向下取整 舍弃小数部分
-
Math.ceil() 向上取整 只要右小数就进位
-
Math.round() 四舍五入
1.2数学方法
-
Math.max(值1,值2..........):找序列中最大的值
-
Math.min(值1,值2..........):找序列中最大的值
-
Math.abs() 取绝对值
-
Math.sqrt() 开根号
-
Math.pow(基数,次方幂);
1.3随机数
-
Math.random() 随机声明0-1之间的数 包括0不包括1
-
公式: Math.random() * (max-min+1) + min
<script> //1. Math.random() 随机声明0-1之间的数 包括0不包括1 var a = Math.random(); console.log(a); // 2.随机整数的公式: 公式: Math.random() * (max-min+1) + min // 随机10-20之间的数 var b = Math.floor(Math.random() * (20 - 10 + 1) + 10) // Math.random() * 11 + 10 [10,21] console.log(b); var arr = ["谢谢惠顾", "五百万", "老婆一个", "正牌女朋友", "玛莎拉蒂", "劳斯莱斯", "兰博基尼", "迈腾", "能顺利进入三阶段"]; // 随机下标:0 arr.length-1 var index = Math.floor(Math.random() * (arr.length - 1 - 0 + 1) + 0); console.log(arr[index]); </script>
2.Date时间对象
2.1创建时间对象
-
创建当前时间
/* 创建现在时刻 */ // 1.创建现在这一时刻 当前计算机这一秒的时间 var a = new Date(); console.log(a);//Fri Oct 21 2022 10:28:41 GMT+0800 (中国标准时间) // 2.打印输出每秒的时间 setInterval(function () { // console.log(new Date()) }, 1000)
-
创建任意时间
/* 创建任意时间 */ // 方法1:new Date(年,月-1,日,时,分,秒) 2021年10月1日 12:10:00 // 注意 月是从0开始的 0代表是1月 var a = new Date(2021, 9, 1, 12, 10, 0); console.log(a);//Fri Oct 01 2021 12:10:00 GMT+0800 (中国标准时间) // 方法2: new Date("年,月,日,时:分:秒"); var b = new Date("2021,10,1,12:10:00"); console.log(b); // new Date("年-月-日 时:分:秒"); console.log(new Date("2021-10-1 12:10:00")); // new Date("年/月/日 时:分:秒"); console.log(new Date("2021/10/1 12:10:00")); // new Date("年 月 日 时:分:秒"); console.log(new Date("2021 10 1 12:10:00")); // 方法3: var c = new Date("Oct 01 2021"); console.log(c);//Fri Oct 01 2021 00:00:00 GMT+0800 (中国标准时间)
2.2获取时间
-
获取特定格式的时间
var yDate = new Date(); console.log(yDate);//Fri Oct 21 2022 10:44:48 GMT+0800 (中国标准时间) // 获取特定格式的时间 (年月日) console.log(yDate.toDateString());//Fri Oct 21 2022 console.log(yDate.toLocaleDateString());//2022/10/21 // 获取特定格式的时间 (时分秒) console.log(yDate.toTimeString());//10:47:44 GMT+0800 (中国标准时间) console.log(yDate.toLocaleTimeString());//10:48:08
-
获取单个时间
var yDate = new Date(); // 获取单个时间 Number数据类型 console.log(yDate.getFullYear());//2022 console.log(yDate.getMonth());//10 console.log(yDate.getDate());//21 var arr = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"] var index = yDate.getDay();//5 console.log(arr[index]);//"星期五" console.log(yDate.getHours());//10 console.log(yDate.getMinutes());//54 console.log(yDate.getSeconds());//31 // 时间戳:时间的毫秒单位 从1970年1月1日到现在时刻的毫秒 console.log(yDate.getTime());//1666320938256 // 获取2023年10月1日的时间戳 var xDate = new Date(2023, 9, 1); console.log(xDate.getTime());//1696089600000
2.3倒计时
3.String字符串对象
3.1创建字符串
-
字面量创建
<script> // 1.字面量创建(包装类对象,但是在使用字符串对象的方法的时候,会暂时伪装成一个对象) var str1 = "0823web"; console.log(str1);// 0823web console.log(typeof str1);//string数据类型 console.log(str1.length);//7 </script>
-
new关键字关键
// 2.new关键字创建 var str2 = new String("0823web"); console.log(str2);//String {'0823web'} console.log(typeof str2);// Object数据类型 console.log(str2.length);//7
3.2字符串的方法
length
-
获取字符串的长度
charAt
-
charAt(下标):获取字符串对应下标的字符
charCodeAt
-
charCodeAt(下标):获取字符串对应下标的字符编码
// 1.length 字符串的长度 var str = "0823web"; // 2.charAt 获取该下标所对应的字符 console.log(str.charAt(3));//"3"; // 3.charCodeAt(下标); "0"-48 "a"-97 "A"-65 console.log(str.charCodeAt(3));//"3"--51
indexOf
-
indexof(searchValue,index)
-
作用:查询一个字符串在另一个字符串中首次出现的位置,并且返回首次出现位置的下标,如果找不到则是返回-1
-
参数
-
searchValue:必需参数,需要查询的字符串
-
index:可选参数,开始查找的位置 如果不指定index 默认是0
-
-
// 4.indexof:查询一个字符串在另一个字符串中首次出现的位置,并且返回首次出现位置的下标,如果找不到则是返回-1 console.log(str.indexOf("w"));//4 var str1 = "0823web0823web0823jaweb"; console.log(str1.indexOf("web"));//4 console.log(str1.indexOf("web", 10));//11 console.log(str1.indexOf("java", 10));//-1
lastIndexOf
-
lastIndexof(searchValue,index)
-
作用:查询一个字符串,从后往前查找最后一次出现的位置,并且返回最后一次位置的下标,如果找不到则是返回-1;
-
参数
-
searchValue:必需参数,需要查询的字符串
-
index:可选参数,开始查找的位置 如果不指定index 默认是str.length-1
-
-
// 5.lastIndexof:查询一个字符串,从后往前查找最后一次出现的位置,并且返回最后一次位置的下标,如果找不到则是返回-1 var str1 = "0823web0823web0823jaweb"; console.log(str1.lastIndexOf("w"));//20 console.log(str1.lastIndexOf("web"));//20 console.log(str1.lastIndexOf("web", 10));//4 console.log(str1.lastIndexOf("we1b", 10));//-1
字符串的截取方法
substring
-
substring(start,end)
-
作用:截取字符串中一串连续的字符串,包括开始下标,不包含结束下标
-
参数
-
start:必需参数,开始截取的下标位置
-
end:可选参数,结束截取的下标位置 如果不写默认是str.length
-
-
var str = "0823web0823web"; //1.substring(start,end) 截取字符串中一串连续的字符串,包括开始下标,不包含结束下标 console.log(str.substring(5));//eb0823web console.log(str.substring(5, 7));//eb
slice
-
slice(start,end)
-
作用:截取字符串中一串连续的字符串,包括开始下标,不包含结束下标
-
参数
-
start:必需参数,开始截取的下标位置
-
end:可选参数,结束截取的下标位置 如果不写默认是str.length
-
-
// 2.slice(start,end)截取字符串中一串连续的字符串,包括开始下标,不包含结束下标 console.log(str.slice(5));//eb0823web console.log(str.slice(5, 7));//eb
-
==substring和substr的区别==
-
substring会自动调整下标的位置 slice不会
-
substring碰见负数会默认为0 slice碰见负数会认为是倒数第几个
-
// 3.substring和slice的区别(面试题) // substring会自动调整下标的位置 slice不会 console.log(str.substring(5, 2));//(2,5); 23w console.log(str.slice(5, 2));// "" // substring碰见负数会默认为0 slice碰见负数会认为是倒数第几个 console.log(str.substring(-5, 2));//(0,2); 08 console.log(str.substring(2, -5));//(0,2); 08 console.log(str.slice(8, -2));//823w console.log(str.slice(-2, 8));//""
substr
-
substr(start,count)
-
作用:从开始下标开始截取,截取几个
-
// 4.substr(start,count) console.log(str.substr(2, 2));//23
大小写转换
toLowerCase
-
toLowerCase 转小写
toUpperCase
-
toUpperCase 转大写
// 1.toLowerCase转小写 toUpperCase转大写 var str = "abcABC"; console.log(str.toLowerCase());// abcabc console.log(str.toUpperCase());// ABCABC // 使用场景:验证码 var str1 = "AbcD"; //系统给的验证码 var str2 = "abce"; //用户输入的验证码 if (str1.toUpperCase() == str2.toUpperCase()) { console.log("验证通过"); }
replace
-
replace(searchStr,replaceStr)
-
作用:替换字符串中的某个字符,返回一个新的字符串,==默认一次只能替换一个==
-
参数
-
searchStr:必需参数,将要被替换的字符
-
replaceStr:必需参数,替换的字符
-
-
// 2.replace(searchStr,replaceStr) 特性;一次只能替换一个 var str = "0823web0823web"; var newStr = str.replace("web", "java"); console.log(newStr); var str1 = newStr.replace("web", "java"); console.log(str1);
trim
-
去除首尾空格
// 3.trim 去除字符串的首尾空格 var str = " Hello World "; console.log(str); console.log(str.trim());// "Hello World"
split
-
split(分割标识):将字符串根据分割标识进行分割 并且组成一个新的数组
// 4.split(分割标识):将字符串根据分割标识进行分割 并且组成一个新的数组 var str = "1、2、3、4"; console.log(str.split("、"));//['1', '2', '3', '4'] var str1 = "2022/10/21"; console.log(str1.split("/"));//["2022", "10", "21"] var str2 = "冉清、雅虹、沂汐、雨泽、迈汎、家维、牧悦、依灵、紫霜、泞兮、曼玲、锦清"; console.log(str2.split("、"));
4.面试题
substring和slice的区别 字符串的方法有哪些(13个)?