JS常用库
js常用库
计时器
setTimeout(func, delay)
delay
毫秒后,执行函数func
clearTimeout()
关闭计时器,例如:
1 | let timeout_id = setTimeout(() => { |
setInterval(func, delay)
每隔delay
毫秒,执行一次函数func
clearInterval()
1 | let interval_id = setInterval(() => { |
requestAnimationFrame(func)
该函数会在下次浏览器刷新页面之前执行一次,通常会用递归写法使其每秒执行 60 次 func
函数。调用时会传入一个参数,表示函数执行的时间戳,单位为毫秒。
1 | function print() { |
这样每秒就会执行60次打印“我爱白玫瑰”。这个函数经常被用来做动画。
- requestAnimationFrame 渲染动画的效果更好,性能更加。
该函数可以保证每两次调用之间的时间间隔相同,但 setTimeout 与 setInterval 不能保证这点。 - 当页面在后台时,因为页面不再渲染,因此 requestAnimationFrame 不再执行。但 setTimeout 与 setInterval 函数会继续执行。
数据结构类
Map类
- 用
for...of
或者forEach
可以按插入顺序遍历 - 键值可以为任意值
用法:
set(key, value)
:插入键值对,如果 key 已存在,则会覆盖原有的 valueget(key)
:查找关键字,如果不存在,返回 undefinedsize
:返回键值对数量has(key)
:返回是否包含关键字 keydelete(key)
:删除关键字 keyclear()
:删除所有元素
Set类
Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。
- 用
for...of
或者forEach
可以按插入顺序遍历
用法:
add()
:添加元素has()
:返回是否包含某个元素size
:返回元素数量delete()
:删除某个元素clear()
:删除所有元素
localStorage
可以在用户的浏览器上存储键值对。这样数据在刷新的时候就不会消失。
setItem(key, value)
:插入getItem(key)
:查找removeItem(key)
:删除clear()
:清空
杂项
JSON
将对象(字典)和字符串互相转化的一种函数
JSON.parse()
:将字符串解析成对象JSON.stringify()
:将对象转化成字符串
时间
返回值为整数的 API,数值为 1970-1-1 00:00:00 UTC(世界标准时间)到某个时刻所经过的毫秒数:
Date.now()
:返回现在时刻Date.parse("2022-04-15T15:30:00.000+08:00")
:返回北京时间 2022 年 4 月 15 日 15:30:00 的时刻。
与Date对象的实例相关的API:
new Date()
:返回现在时刻new Date("2022-04-15T15:30:00.000+08:00")
:返回北京时间 2022 年 4 月 15 日 15:30:00 的时刻- 两个Date对象实例的差值为毫秒数
getDay()
:返回星期,0表示星期日getDate()
:返回日,数值为1~31getMonth()
:返回月,数值为0~11getFullYear()
:返回年份getHours()
:返回小时getMinutes()
:返回分钟getSeconds()
:返回秒getMilliseconds()
:返回毫秒
WebSocket
new WebSocket('ws://localhost:8080')
建立ws连接send()
:向服务器端发送一个字符串。一般用 JSON 将传入的对象序列化为字符串。onopen
:类似于onclick
,当连接建立时触发onmessage
:当从服务器端接收到消息时触发close()
:关闭连接onclose
:当连接关闭后触发
window
window.open("https://www.acwing.com")
:在新标签栏中打开界面location.reload()
:刷新页面location.href = "https://www.acwing.com"
:在当前标签栏中打开界面
canvas
此文章版权归金晖の博客所有,如有转载,请註明来自原作者
评论