# 前端面试题(三)

# 宏任务包含

1
2
3
4
5
6
7
8
script(整体代码)
setTimeout
setInterval
I/O
UI交互事件
postMessage
MessageChannel
setTimediate(Node.js 环境)

# 微任务包含

1
2
3
4
Promise.then
Object.observe
MutationObserver
process.nextRick(Node.js 环境)

# Symbol 的应用场景?

  • 使用 Symbol 来替代常量

    • const gender=Symbol("gender")
      const obj={
      name:"sunshine_Lin",
      age:23,
      [gender]:"男"
      }
      console.log(obj["name"])
      console.log(obj["age"])
      console.log(obj[gender])

# 正则表达式

修饰符描述
i执行对大小写不明显不匹配
g执行全局匹配
m执行多行匹配
表达式描述
-------------------------------------------
[abc]查找方括号之间的任意字符
[0-9]查找任何从 0 到 9 的数字
(x|y)查找任何以 | 分隔的选项
[a-z]查找小写字母 a 到小写字母 z 的字符
[A-Z]查找大写字母 A 到大写字母 Z 的字符
[A-z]查找从大写字母 A 到小写字母 z 的字符、
[^ascasc]查找给定集合外的任意字符

元字符是拥有特殊意义的字符

元字符描述
\d查找数字
\s查找空白字符
\b匹配单词边界
\w查找数字、字母和下划线
\W查找非单词字符
\D查找非数字字符
\s查找空白字符
\S查找非空白字符
\B匹配非单词边界
\o查找 null 字符
\n查找换行符
\t查找制表符

量词

量词描述
n+匹配任何包含至少一个 n 的字符串
n*匹配任何包含零个或者多个 n 的字符串
n?匹配任意包含零个或者一个 n 的字符串