Html
ie盒模型与标准盒模型
![[2-1.png]]
![[2-2.png]]
Css
css伪类
selector:link {}
selector:visited {}
selector:hover {}
selector:active {}
selector:focus {}
Javascript
cookie/sessionStorage/localStorage的区别
- cookie在同源请求中会携带,在过期时间内一直有效
- sessionStorage只在当前浏览器窗口有效;localStorage所有同源窗口有效
- localStorage只要不删除就一直存在,常用于持久化存储
- cookie大小不超过4k,sessionStorage不超过5M,localStorage不超过20M
- 都只能存储字符串,如需存储对象需要JSON.stringify编码后存储
js数据类型
js数据类型包括null
,undefined
,boolean
,number
,string
,symbol
,bigInt
,object
continue,break,return的区别
- continue用于结束本次循环,继续下次循环
- break用于跳出当前循环体
- return用于返回函数,并中断函数执行
stopPagation()与preventDefault()的区别
- stopPagation会阻止事件冒泡与捕获
- preventDefault会组织事件的默认行为(如链接跳转/右键菜单/表单提交等)
var/let/const的区别
区别 | var | let | const |
---|---|---|---|
是否有块级作用域 | × | ✔️ | ✔️ |
是否存在变量提升 | ✔️ | × | × |
是否添加全局属性 | ✔️ | × | × |
能否重复声明变量 | ✔️ | × | × |
是否存在暂时性死区 | × | ✔️ | ✔️ |
是否必须设置初始值 | × | × | ✔️ |
能否改变指针指向 | ✔️ | ✔️ | × |
call/apply/bind区别
- 三者都是用于改变函数运行时的this指向
- call/apply两者都会立即执行,call传入参数列表,apply传入数组
- bind不会立即执行,而是返回改变了this指向的函数,bind可多次传参
fn.call(obj,1,2)
fn.apply(obj,[1,2])
const bindFn1 = fn.bind(obj,1,2)
const bindFn2 = fn.bind(obj)
bindFn()
bindFn2(1,2)
哪些情况会导致内存泄漏
- 意外的全局变量: 使用未声明的变量,而意外的创建了一个全局变量,而使这个变量一直留在内存中无法被回收
- 被遗忘的计时器或回调函数
- 脱离 DOM 的引用
- 闭包
Vue.js
v-show与v-if的区别
- v-if是
惰性
的,满足条件才会进行渲染 - v-show无论是否满足都会渲染,后续只是css
display
的切换 - v-if有更高的切换开销,v-show有更高的初始渲染开销(v-show适合频繁切换,反之v-if)
2024前端高频面试题之-- JS篇
标准内置对象-Array