前端面试之JS
2023-07-20 10:10:02 0 举报
AI智能生成
为前端面试而总结的当前涉及JS的所有知识点
作者其他创作
大纲/内容
ES6+
let,const
定义
区别
Promise
定义
then
catch
reslove/reject
all
race
finally
class
面向对象
数据类型
constructor
extends
super
当做函数
当做对象
getter/setter
单例模式
抽象类
Set/Map
Set
实例属性
constructor
size
实例方法
add
delete
has
clear
遍历方法
forEach
entries
keys
values
应用
WeakSet
add
delete
has
Map
实例属性
实例方法
遍历方法
与其他数据结构转换
Map转数组
数组转Map
Map转对象
对象转Map
WeakMap
get
set
has
delete
模块化
区别
CommonJS
箭头函数
Proxy/Reflect
Proxy
Reflect
生成器/迭代器
generator
yield
yield*
iterator
可迭代对象
异步可迭代对象
装饰器
类的装饰
类属性的装饰
多个装饰器的执行顺序
异步
Promise
状态固化
状态无效
async/await
错误处理
对执行顺序的影响
async返回值
await右侧值类型
BOM
区别
作用
方法
事件
常用对象
History
location
screen
navigator
坐标
常用
offset
page
client
scroll
getBoundingClientRect
getComputedStyle
区别
鼠标事件属性
滚动条距离
可视区域
web Worker
限制
用法
数据传递
共享线程
关闭worker
错误处理
上下文
基础语法
基本类型
string
常见方法
分割
substring
substr
slice
split
查找
indexOf
includes
search
转化
toLowerCase
toUpperCase
trim
number
特殊
NaN
isNaN
无穷大
infinity
-infinity
方法
parseInt
parseFloat
toFixed
toString
boolean
!(取反)
||(或运算)
&&(与运算)
??(空值合并)
null
undefined
Symbol
引用类型
Object
常用方法
遍历/枚举
Object.keys
Object.values
Object.entries
Object.fromEntries
for/in
创建
Object.assign
Object.create
Object.defineProperty
hasOwnProperty
Object.getPrototypeOf
delete
Object.is
包装类
Number()
String()
Boolean()
深浅拷贝
浅拷贝
Object.assign
扩展运算符
slice,concat数组浅拷贝
深拷贝
JSON.parse(JSON.stringify(obj))
递归深拷贝
数组
增
unshift
push
concat
splice
删
shift
pop
slice
splice
改
splice
查
find
findIndex
indexOf
includes
some
every
filter
循环
for循环
for/of
forEach
map
reduce
其他
sort
flat/flatMap
reverse
fill
join
构造函数的数组方法
Array.from
Array.of
Array()
Array.isArray
标准对象
Date
Date.now()
new Date()
Math
Math.floor
Math.ceil
Math.round
Math.abs
Math.pow
Math.sqrt
Math.max/min
Math.random
RegExp
api
new RegExp()
reg.test
reg.exec
str.replace
str.split
str.match
str.search
特殊字符
点字符
位置字符
选择字符|
转义字符\
特殊字符
修饰符
量词
字符组
常用方法
类型转换
隐式转换
比较运算
四则运算
Object.is
常用类型转换
转布尔值
转数字
转字符串
对象转换成基础类型
toString()
valueof()
判断类型
常用判断类型
typeof
instanceOf
Object.prototype.toString.call()
判断是否是数组
Array.isArray
Array.prototype.isPrototypeOf()
Object.getPrototypeOf([]) === Array.prototype
判断对象是否为空
Object.keys().length
JSON.stringify() === '{}'
Object.getOwnPropertyNames().length
for/in
判断对象中是否存在某个属性
hasOwnProperty
in操作符
Reflect.has
Object.prototype.hasOwnProperty.call()
Object.hasOwn
Obejct.keys().includes
进阶
函数
函数定义
变量提升
函数参数
作用域
全局作用域
局部作用域
块级作用域
词法作用域
作用域链
立即执行函数
示例
闭包
概念
原理
作用
缺点
this指向
普通函数的this
对象方法的this
构造函数的this
匿名函数的this
绑定事件函数的this
箭头函数的this
call,apply,bind
特殊情况
保存this
new操作符
new的过程
new的实现
原型
原型链
继承
ES5继承
ES6继承
事件循环
垃圾回收
DOM
事件
事件流
事件源
事件对象
事件绑定
事件冒泡/捕获
stopPropagation
preventDefault
事件代理
a标签事件
Element
getElementsByClassName
getElementByTagName
getAttributeNode
getElementById
querySelector/querySelectorAll
createElement
appendChild
insertBefore
removeChild
innerHTML/innerText/TextContent
自定义属性data-*
节点
nodeType
nodeName
nodeValue
AttributeNode
HTML5新增事件
drag拖拽
地理信息
设备信息
0 条评论
下一页