文章目录
- JS的API
- 一、数组API
- 1.toString( )
- 2.join( )
- 3.concat(arr2,arr3...)
- 4.reverse( )
- 5.slice(start,[end])
- 6.splice(start,[count],[v1],...)
- 7.sort( )
- 8.push( )
- 9.pop( )
- 10.unshift( )
- 11.shift( )
- 11.indexOf( )
- 二、字符串API
- 1.length 获取字符串的长度
- 2.charAt( )
- 3.indexOf( )
- 4.lastIndexOf( )
- 5.slice(start,[end])
- 6.toUpperCase( )
- 7.toLowerCase( )
- 8.split( )
- 三、Math对象
- PI 获取圆周率
- abs() 绝对值
- ceil() 向上取整
- floor() 向下取整
- round() 四舍五入取整
- pow(x,y) 计算x的y次方
- max() 查找一组数字最大值
- min() 查找一组数字最小值
- random() 获取随机数 范围0~1之间
- 四、Date对象
- 1.创建Date对象
- 2.Date对象转为本地字符串
- 3.获取Date对象存储的值
- 4.设置存储的值
- 5.拷贝一个Date对象
- 五、数字对象
- Boolean对象
一、数组API
1.toString( )
将数组转为字符串
2.join( )
将数组转为字符,默认按照逗号分割,可以指定分隔符
3.concat(arr2,arr3…)
拼接多个数组,返回拼接后的结果,原数组不变
4.reverse( )
翻转数组元素,返回翻转后的数组,原数组发生变化
5.slice(start,[end])
截取数组
- start 为开始下标
- end为结束下标 不包含end本身
- end为空时 会截取到最后
- 如果下标为负数表示倒数
- 返回截取的数组,原数组不变
// 创建数组,包含a~h,每个字母一个元素,分别截取出bc,f;再将两部分拼接拼成一个新的数组
var arr = ['a','b','c','d','e','f','g'];
console.log(arr.slice(1,3));
console.log(arr.slice(-2,-1));
console.log(arr.slice(-2,-1).concat(arr.slice(1,3)));
6.splice(start,[count],[v1],…)
删除数组元素
- start开始删除的下标
- count删除的长度
- count为空时 删除到最后
- 下标为负数表示倒数
- v1,…表示删除后要补充的元素
- 返回删除的元素,原数组会发生变化
// 创建数组,包含a~h,每个字母是一个元素,删除cd替换h为m 在下标为1的位置插入z
var arr = ['a','b','c','d','e','f','g','h'];
console.log(arr.splice(2,2));
console.log(arr.splice(-1,1,'m'));
console.log(arr.splice(1,0,'z'));
console.log(arr); // ['a', 'z', 'b', 'e', 'f', 'g', 'm']
7.sort( )
对数组进行排序,默认是按照首个字母的Unicode码排列
var arr = [23,9,78,6,45];
// 默认是按照首个字符的Unicode编码排列
// arr.sort()
arr.sort( function(a, b) {
// a b 每次取出两个数字
// 从小到大
return a - b;
});
// 原数组会发生变化
console.log(arr);
8.push( )
在数组末尾添加元素,返回数组的长度,原数组会发生变化
9.pop( )
删除数组末尾的一个元素,返回删除的元素,原数组会发生变化
10.unshift( )
在数组开头添加元素,返回数组的长度,原数组会发生变化
11.shift( )
删除数组开头的一个元素,返回删除的元素,原数组会发生变化
11.indexOf( )
检测数组中是否含有某个元素,存在返回下标 不存在返回-1
// 创建一个数组 包含爱国福、和谐福;如果不包含敬业福,则把敬业福添加到数组
var arr = ['爱国福','和谐福'];
if(arr.indexOf('敬业福') === -1) {
arr.push('敬业福')
}
console.log(arr);
二、字符串API
1.length 获取字符串的长度
2.charAt( )
获取下标对应的字符,也可以使用数组的格式 字符串[下标]
// 统计出一个字符串中哪一个字符出现的次数最多,一共几次
var str = 'javascript';
for(var i = 0,count=0;i < str.length;i++){
console.log(str[i]);
if(str[i] === 'a') {
count++;
}
}
console.log(count);
3.indexOf( )
检查字符串是否含有某个字符串,返回的是找到第1个下标 找不到返回-1
// 邮箱中是否有@符号
var str = 'abc23#tedu.cn';
if(str.indexOf('@') === -1){
console.log('非法邮箱');
}
4.lastIndexOf( )
检查字符串中是否含有某个字符串,返回的是找到的最后一个下标,找不到返回-1
5.slice(start,[end])
截取字符串
- start开始的下标
- end结束的下标
- 不包含end这一项;end为空会截取到最后
- 下标为负数表示倒数
6.toUpperCase( )
将英文字母转大写
7.toLowerCase( )
将英文字母转小写
8.split( )
将一个字符串按照指定的字符转为数组
三、Math对象
PI 获取圆周率
abs() 绝对值
ceil() 向上取整
floor() 向下取整
round() 四舍五入取整
pow(x,y) 计算x的y次方
max() 查找一组数字最大值
min() 查找一组数字最小值
random() 获取随机数 范围0~1之间
// 获取圆周率 PI
console.log( Math.PI );
// 绝对值 abs()
console.log(Math.abs(-10));
// 向上取整 ceil()
console.log(Math.ceil(-1.3));
// 向下取整 floor()
console.log(Math.floor(-1.3));
// 四舍五入取整 round()
console.log(Math.round(1.5));
// 次方 pow()
console.log(Math.pow(5,3));
// 查找一组数字最大值 max()
console.log(Math.max(23,9,6,4,25,78));
// 查找一组数字最小值 min()
console.log(Math.min(23,9,6,4,25,78));
// 获取随机数 random()
console.log(Math.random());
四、Date对象
1.创建Date对象
new Date('2023/2/27 10:40:30');
new Date(2023,2,27,10,20,30); // 第2个参数月份的值是0~11对应1~12月
new Date(); // 存储的是当前系统的时间
new Date(1680000000000); // 存储的是距离计算元年(1970-1-1 0:0:0)毫秒数,会产生一个具体的日期时间 1秒 = 1000毫秒
2.Date对象转为本地字符串
tolocaleString() // 存在兼容性问题,不同的JS解释器下显示有差别,只能用于开发调试阶段
3.获取Date对象存储的值
getFullYear(); // 获取年份
getMonth(); // 获取月份 0~11
getDate(); // 获取日期
getHours(); // 获取日期
getMinutes(); // 获取分 H
getSeconds(); // 获取秒
getMilliseconds();// 获取毫秒
getDay(); // 获取周几 0~6 日~六
getTime(); // 获取时间戳
Date.now(); // 获取当前时间的时间戳
练习:创建Date对象,存储当前系统时间,获取存储的值,最后打印以下效果
‘今天是xxxx年xx月xx日 星期x’
说明:星期的值使用汉字格式 日~六
var d = new Date()
var year = d.getFullYear()
var month = d.getMonth() + 1
var date = d.getDate()
var hour = d.getHours()
var minute = d.getMinutes()
var second = d.getSeconds()
var day = d.getDay() //范围0~6
// 如果秒钟小于10,在前拼接0,否则正常显示
second = second<10 ? '0'+second : second;
// 创建数组,包含日~六,下标范围0~6
var arr = ['日', '一', '二', '三', '四', '五', '六']
// console.log(arr[day])
console.log(`今天是${year}年${month}月${date}日 ${hour}时${minute}分${second}秒 星期${arr[day]}`);
练习:计算当前时间距离周末(2023/3/4)还有多久
var d1 = new Date();
var d2 = new Date('2023/3/4');
// 计算相差的毫秒数
var d = d2.getTime() - d1.getTime();
// console.log(time);
// 把相差的单位改成秒
d = parseInt(d/1000);
// 计算相差的秒钟部分:去除含有的分钟(60秒),总的相差的秒钟%60
var second = d%60;
// 计算相差的分钟部分:去除总的秒数中含有的小时3600秒
// 单位要求分钟
var minute = parseInt(d%3600/60);
// 计算相差的小时部分:去除总的秒数中含有的天(24*3600)
// 单位要求小时
var hour = parseInt(d%(3600*24)/3600);
// 计算相差的天的部分,直接将总的秒数单位转为天(24*3600)
var day = parseInt(d/(24*3600));
// document.write('距离周末(2023/3/4)还有'+ day+'天'+hour +'小时'+ minute+'分'+second +'秒');
console.log(`距离周末(2023/3/4)还有${day}天${hour}时${minute}分${second}`);
4.设置存储的值
setFullYear(); // 设置年份
setMonth(); // 设置月份 0~11
setDate(); // 设置日期
setHours(); // 设置日期
setMinutes(); // 设置分
setSeconds(); // 设置秒
setMilliseconds();// 设置毫秒
setTime(); // 设置时间戳 会产生一个具体的日期时间1
5.拷贝一个Date对象
var d = new Date('2023/2/27 14:42:50');
// 拷贝一份Date对象 把对象作为参数传递
var d2 = new Date(d);
五、数字对象
new Number() // 将一个数字包装为对象 存储在了堆内存中
Number() // 将一个值转换为数字
toFixed(n) // 保留小数点后n位
Boolean对象
new Boolean()// 将一个布尔型值包装为对象
Boolean() // 将一个值强制转换为布尔型
!!值 // 将一个值隐式转换为布尔型