一、定时器
知识点:
1.setTimeout :定时执行。
setTimeout()方法设置一个定时器,该定时器在定时器到期后执行一个函数或指定的一段代码。
只执行一次,完毕之后定时器还在,没有被销毁。
注:setTimeout指定的代码,必须等到本次执行的所有同步代码都执行完,才会执行。
2.setInterval :循环执行。
每隔一个时间间隔就会执行一次这个方法,直到这个定时器被销毁。
(使用 clearTimeout() 和 clearInterval() 可以消除定时器。)
示例:
<body>
<script>
// 【setTimeout和setInterval的区别】
// timeout:(体育比赛中的)暂停,超时
// interval:间隔,间隙
// setTimeout()开启的定时器,“时间”一到代码就会执行
// 就是用来指定某个函数或某段代码在多少毫秒后执行
// 使用setInterval()开启的定时器,“时间间隔”一到,代码就会执行一次
// 意思就是每隔一段时间执行一次函数
setInterval(function(){
console.log('lili');
},1000)
// 使用clearTimeout()和clearInterval()可以清除定时器
// 【题目:最后的打印顺序是什么?】
// 1.
console.log(1);
setTimeout(function(){
console.log(2);
},1000);
console.log(3);
setInterval(function(){
console.log(4);
},2000)
// 2.
console.log('A');
setTimeout(function(){
console.log('B');
},0)
console.log('C');
</script>
</body>
![](https://img-blog.csdnimg.cn/img_convert/7a1f1d2c33830a7df19ca5a42efa012b.png)
二、变量
变量的命名须遵循如下3条规则:
1.首字母必须是字母 (大小写均可) 、下划线(_),或者美元符号 ($)。(数字开头,非法。)
2.余下的字符可以是下划线、美元符号、任意字母或者数字
3.变量名不能是关键字 (keyword) 或者保留字。
三、分割字符串 (split)
1.传入字符串中有的分隔符,会把原本的字符串变成数组,并且把原本的分隔符给删掉,
分隔符前后字符就变成了数组中单独的某个项
let str ='1-2-3-4-5'
let str1 = str.split('-')
console.log(str); //1-2-3-4-5
console.log(str1); //['1','2','3' ,'4','5']
2.传入字符串中没有的分隔符,也会把原本的字符串变成数组,
但是因为没有找到指定的分隔符,所以字符串没有被分隔,整串字符串变成数组的一项。
let str ='1-2-3-4-5'
let str1 =str.split('!')
console.log(str1); //['1-2-3-4-5']
3.不传入分隔符(但是传入了一个字符串),也会从字符串转化为数组,并且字符串中的每一个元素都会转化为数组的某一项
let str = 'i love lili'
let str1= str.split('')
console.log(str1); //(11) ['i', ' ', 'l', 'o', 'v', 'e', ' ', 'l', 'i', 'l', 'i']
4.字符串和分隔符都不传入了
let str = 'i love lili'
let str1 = str.split( )
console.log(str1); //['i love lili']
四、字符串
判断一个字符在不在某个字符串里面
let str = '我爱莉莉'
let index1 = str.indexOf('莉莉')
console.log(index1); //2
2.截取字符串 (第一个参数: 从哪个下标开始截取;第二个参数: 截取的长度)
let str1 = str.substr(3,2)
console.log(str1);//莉
3.修改字符串(第一个参数: 要修改的字符串;第二个参数: 修改后的字符串)
let str2 = str.replace('莉莉' ,'波波')
console.log(str2);//我爱波波
4.分割字符串
4.1.直接调用不传任何值,会直接将字符串转化成数组
let str3 = 'i love 小怡!'
console.log(str3.split()); //['i love 小怡!']
4.2.如果已不存在的字符串(或者正则匹配不到的字符串)进行分割,也会直接将字符串转为数组
let str4 = 'i love xiaoyi!'
console.log(str4.split('M')); //['i love xiaoyi!']
4.3.按照空格字符串 ('') 的形式进行分割,每个字符都分割。
let str5 ='i love xiaoyi!'
console.log(str5.split('')); //(14) ['i', ' ', 'l', 'o', 'v', 'e', ' ', 'x', 'i', 'a', 'o', 'y', 'i', '!']
4.4.传入并原数组有分隔符的情况下,找到分隔符,将其从字符串删除,并将字符串数组返回。
let str6 ='i love xiaoyi'
console.log(str6.split(' ')); //(3) ['i', 'love', 'xiaoyi']
5.大小写转换
console.log('ABCDEFG'.toLowerCase()); //abcdefg
console.log('abcdefg'.toUpperCase()); //ABCDEFG
效果展示:
![](https://img-blog.csdnimg.cn/img_convert/7b5f4bfdb503204d23d6366e0a89b6c8.png)
五、数组
let array = ['呵呵']
console.log(array);//['呵呵']
【数组新增】
1. 添加元素到数组未尾:数组名.push('元素')。
array.push('嘻嘻')
console.log(array); //(2) ['呵呵', '嘻嘻']
2. 添加到开头:数组名.unshift('元素')
array.unshift('哈哈')
console.log(array); //(3) ['哈哈', '呵呵', '嘻嘻']
【数组删除】
1.数组名.pop( ): 删除最后一个元素
array.pop()
console.log(array); //(2) ['哈哈', '呵呵']
2.数组名.shift( ): 删除第一个元素
array.shift()
console.log(array); //['呵呵']
【数组删除/添加指定元素】
1. 数组名.splice(start,deleteCount,add)
第一个值: 起始位置,从0开始。
第二个值:要删除的数量。(如果没有指定的数量,则会删除从起始位置到后面所有元素)
array.splice(3,2)
console.log(array); //['呵呵']
【数组赋值(改)】
1.数组名[下标]
如果下标存在,则获取元素值。如果下标不存在,则新增数列项。
array[0] = 'lala'
console.log(array); //['lala']
array[3] ='heihei'
console.log(array); //(4) ['lala', 空属性 × 2, 'heihei']
![](https://img-blog.csdnimg.cn/img_convert/7e0e4a2c8772c046e0b44acdbb2a3cfa.png)
【数组转化为字符串】
let a = ['1','2','3']
let b = a.join('')
console.log(a); //['1','2','3']
console.log(b); // 1234
console.log(typeof(b)); // srting
![](https://img-blog.csdnimg.cn/img_convert/2a74776a2dc712c41dee50cca63dc0f9.png)
六、set
ES6提供了新的数据结构Set。
它类似与数组,但是成员的值都是唯一的,没有重复的值
创建Set数据结构
const s = new Set()
Set函数可以接收一个数组作为参数,用来初始化。
const s = new Set([1,2,3,3,4,4])
console.log(s); //Set(4) (1,2,3,4)
console.log(s.size); //4
利用Set进行数组去重
let arr = [1,22,33,33,44,44]
let set = new Set(arr)
console.log(set); //Set(4) {1,22,33,44]
console.log([...set]); //[1,22,33,44]
![](https://img-blog.csdnimg.cn/img_convert/1ffc80fec080fbf3608553d152dd5f73.png)
七、请求方法
知识点:
GET请求: 可以理解为“取”的意思。用来获取数据,不对服务器的数据做任何的修改、新增、删除等操作。
POST请求:可以理解为“贴”的意思。数据发送到服务器以创建或更新资源,侧重于更新数据。
PUT请求: 可以理解为“放”的意思。数据发送到服务器以创建或更新资源,侧重于创建数据。
DELETE请求:“删除”。删除指定的资源。
HEAD请求: HEAD方法与GET方法相同,也是从服务器获取信息。但服务器不会返回请求的实体数据,只会传回相应头可以用在很多并不真正需要资源的场合,避免传输body数据的浪费。比如,想要检查一个文件是否存在,只要发个信息HEAD请求就可以了,没有必要用GET把整个文件都取下来。
PATCH(布丁)请求: 用于上传数据并更新“部分”资源。
题目:
1.在HTTP中,不可用的请求方法是 ( A )
A.RETURN
B.POST
C.HEAD
D.DELETE
2.表示从服务器获取资源的请求方式是 ( A
A. GET
B.POST
C.PUT
D.PATCH
八、http状态码
知识点:
1开头的状态码 (信息类):100,接收的请求正在处理。
2开头的状态码 (成功类): 200,服务器已成功处理了请求。
3开头的状态码 (重定向):301,永久性重定向。302,临时重定向。
4开头的状态码 (客户端错误):400,错误请求,服务器不理解请求的语法。403,服务器拒绝请求
5开头的状态码 (服务器错误):500,服务器内部错误,无法完成请求。503,服务器停机维护,无法处理请求