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);