1.Date日期对象
-
1.获取当前日期:
let date = new Date();
-
2.获取日期中的年月日时分秒
-
3.创建自定义日期
<script>
/**
* Date对象:js内置的用于获取当前日期与时间的对象
* 日期:只有年月日 2021/8/10
* 时间:只有时间 20:30:00
* 完整时间:年月日时 2021/8/10 20:30:00
*/
// 1.创建一个Date对象
let date = new Date();
/*时间日期打印*/
// 2.打印当前完整时间: (1)默认显示当前电脑的时区时间 (2)打印date时会自动转为字符串 date.toString()
console.log ( date ); // Tue Aug 10 2021 21:12:52 GMT+0800 (中国标准时间)
// 3.打印日期:标准版本
console.log ( date.toDateString () ); // Tue Aug 10 2021
// 4.打印日期:本地版本(当前电脑)
console.log ( date.toLocaleDateString () ); // 2021/8/10
// 5.打印当前时间:标准版本
console.log ( date.toTimeString () ); // 21:12:52 GMT+0800 (中国标准时间)
// 6.打印当前时间:本地版本
console.log ( date.toLocaleTimeString () ); // 下午9:12:52
/*年月日时打印*/
// 1.打印当前年份
console.log ( date.getFullYear () ); // 2021
// 2.打印当前月份 范围:0-11 代表 1-12月
console.log ( date.getMonth () ); // 7 代表下标7 也就是8月
// 3.打印当前日
console.log ( date.getDate () ); // 10
// 4.打印当前星期 范围0-6 代表星期天-星期六
console.log ( date.getDay () ); // 2
// 5.打印时
console.log ( date.getHours () ); // 21
// 6.打印分
console.log ( date.getMinutes () ); // 12
// 7.打印秒
console.log ( date.getSeconds () ); // 52
/**创建自定义日期*/
let date1 = new Date(2020,0,1,12,3,5); // 依次传入 年,月,日,时,分,秒
console.log ( date1 ); // Wed Jan 01 2020 12:03:05 GMT+0800 (中国标准时间)
let date2 = new Date("2022-05-06 12:03:35");
console.log ( date2 ); // Fri May 06 2022 12:03:35 GMT+0800 (中国标准时间)
</script>
2.Array数组对象
数组常用api
-
连接数组:
concat()
-
==将数组元素拼接成字符串:
join()
-
删除数组最后一个元素:
pop()
-
往数组后面添加元素:
push()
-
翻转数组:
reverse()
-
删除数组第一个元素:
shift()
-
查找数组元素:
slice()
-
数组排序:
sort()
-
数组遍历:
forEach()
<script>
// 我们创建了一个数组对象。此时它就已经拥有了内置对象所有的属性和方法
let arr = [10,20,30];
console.log ( arr.length ); // 访问数组对象的length属性
// 1.连接多个数组:将另一个数组的所有元素都添加到arr的后面
console.log ( arr.concat ( [ 40, 50 ] ) ); // [10,20,30]
// 2.将数组中的每一个元素都拼接成一个字符串
let str = arr.join(); // 10,20,30
console.log ( str );
// 3.删除数组的最后一个元素
arr.pop()//删除数组的最后一个元素
console.log ( arr ); // [10,20]
// 3.往数组的最后面添加一个元素
arr.push(100);
console.log ( arr ); // [10,20,100]
// 4.翻转数组
let newArr = arr.reverse();
console.log ( newArr ); // [100,20,10]
// 5.删除数组的第一个元素
arr.shift();
console.log ( arr ); // [20,10]
// 6.查找一个数组中的某些元素
let arr1 = [10,20,70,40,50,60];
// 第一个参数:start:从那一个下标开始查找 如果为负数则倒着查找
// 第二个参数: end : 结束位置 start <= 范围 < end
console.log ( arr1.slice ( 1, 3 ) );
// 7.数组排序
// 数组排序方法的参数是一个回调函数:告诉数组内置对象你的排序规则
// 从小到大排序
let sortArr = arr1.sort(function (a,b)
{
return a - b;
});
console.log ( sortArr ); // 从小到大
console.log ( sortArr.reverse () ); // 从大到小 (将从小到大排序好的数组翻转一下即可)
</script>
3.String字符串对象
-
1.获取字符串长度:
str.length
-
2.获取字符串某一个下标字符:
str.charAt()
-
3.拼接字符串:
str.concat
-
4.判断字符串中是否包含某些字符串:
str.indexOf()
-
5.截取字符串:
str.substr()
-
6.修改字符串:
str.replace()
-
7.大小写转换:
str.toLowerCase()
小写str.toUpperCase()
大写 -
8.分隔字符串:
str.split()
<script>
// 字符串常用API介绍
let str = "山有木兮木有枝,心悦君兮君不知";
// 1 获取字符串长度
let length = str.length;
console.log(length); // 15
// 2 获取字符串某一个下标字符(字符串相当于一个伪数组)
console.log(str[4]); // 木
console.log(str.charAt(4)); // 木 charAt(下标)函数相当于`字符串[下标]`
// 3 拼接字符串
let str1 = str.concat("你好呀"); // 这行代码等价于 let str1 = str + "你好呀";
console.log(str); // 山有木兮木有枝,心悦君兮君不知
console.log(str1);// 山有木兮木有枝,心悦君兮君不知你好呀
// 4 判断一个字符串在不在某个字符串里面
let index1 = str.indexOf("山");// 如果存在,则返回参数字符串首字母所在的下标
let index2 = str.indexOf("君");
let index3 = str.indexOf("海"); // 如果不存在,则返回 -1
console.log(index1, index2, index3); // 0 10 -1
// 5 截取字符串 第一个参数:从哪个下标开始截取 第二个参数:截取的长度
let str2 = str.substr(8, 15);
console.log(str2); // 心悦君兮君不知
// 6 修改字符串 第一个参数:要修改的字符串 第二个参数:修改后的字符串
let str3 = str.replace("君", "卿");
console.log(str); // 山有木兮木有枝,心悦君兮君不知
console.log(str3); // 山有木兮木有枝,心悦卿兮君不知
// 7 大小写转换 (只有英文才有大小写,中文不存在大小写)
console.log("AbCdEfG".toLowerCase()); // 转为小写 abcdefg
console.log("AbCdEfG".toUpperCase()); // 转为大写 ABCDEFG
console.log("中文不存在大小写".toLowerCase()); // 转为小写
// 8 分隔字符串:将字符串按照指定的符号分隔,得到一个数组
let str4 = "你&好&呀";
// 这个函数的返回值一定是一个数组
let arry = str4.split("&"); // 以&符号分隔字符串 [你,好,呀]
console.log(arry); // [你,好,呀]
console.log(str4.split(":")); // ["你&好&呀"] 如果字符串中没有这个分隔符 也会得到一个数组
</script>
4.json字符串
-
json字符串是目前前后端通信的数据载体
-
前端显示的数据是不会写死,都是后台得到
-
后台返回的数据格式最常用就是json字符串
-
-
json字符串格式:与普通对象一样有属性名和值
-
json字符串的属性名字和值都是使用双引号
-
严格要求:json字符串最后一个属性之后,不能有逗号
-
-
json字符串的作用
-
跨平台数据识别统一化
-
// 后台通常返回数据是一个json字符串:为了让不同语言的平台达到数据统一性
// 1.json字符串,无论键还是值,无论什么数据类型需要双引号(不识别数据类型,都是字符串)
let json = `{
"name" : "海海",
"age" : "18"
}`
// 2.js对象是javascript语言中的对象(识别数据类型)
let js = {
name : "海海",
age : 18,
}
// 3.注意:js对象也是允许属性有引号的,而且不论单双引号都可以
let jsObj = {
'name':'海海',
"age":18
}
// 打印输出
console.log ( json,typeof json ); // 字符串
console.log ( js );
console.log( jsObj );
// 注意:如果json字符串外面没有引号或者反引号(模板字符串),那么就是js对象
5.JSON对象
js内部内置了一个JSON对象,专门用于处理JSON格式的数据
-
JSON.parse(’json格式字符串‘):将json格式字符串转换成js可以识别的格式(对象或者数组)
-
JSON.stringify(js对象或者数组):将js格式的对象或者数组,转换成json字符串
// 1.json字符串,无论键还是值,无论什么数据类型需要双引号(不识别数据类型,都是字符串)
let json = `{
"name" : "海海",
"age" : "18"
}`;
// 上述本质就是一个字符串,符合json格式,但是js依然不方便操作
// console.log(json.name); // undefined
// 2.JSON对象转换:将json字符串转成js的对象(当前是个对象格式)
let jsonObj = JSON.parse(json);
// 3.js对象操作
console.log(jsonObj.name); // 海海
// 4.js将复杂数据传入给其他端(后台登陆)
let loginObj = {
username:'nihaoya', // JSON对象会自动给属性和值改成双引号
password:'niyehaoya'
}
//5.JSON将js对象转成json字符串
let loginJson = JSON.stringify(loginObj);
console.log(loginJson);