JS是解释执行 单线程语言 所以在执行的情况下可能遇到阻塞的情况 一般阻塞的几种情况
1、向服务器发送请求
2、定时器延时 setInterval setTimeout
3、事件也可以理解为异步
异步所有的特点就是当程序执行到这里时 会跳过这些代码 将这些代码放入执行暂存区 封禁 当程序执行完毕之后 会再执行暂存区的程序
console.log(111) setTimeout(function(){ console.log(222) }) console.log(333)
上述代码 分别是 111 333 222 当程序遇到 setTimeout时 就会将代码暂时提取到暂存队列中封禁 等待程序执行完会到 暂存区查看 如果没有延时 则直接执行 如果有延时则到规定时间 解除封禁执行 ajax也是同理 提取到暂存区 等待所有代码执行完处理 直到服务器返回数据 解除封禁执行
简述下日常用的比较多的内置对象
Date
const dt = new Date() let Y = dt.getFullYear(), M = dt.getMonth(), D = dt.getDate(), hh = dt.getHours(), mm = dt.getMinutes(), ss = dt.getSeconds()
Math.random()
Array
forEach()
errey()
some()
sort()
filter()
map()
以上为数组遍历常用API 都是遍历功能 多了一些条件