电话一面
document 的 load和 ready 的区别: (jquery中的)
- load是当页面所有资源全部加载完成后触发(包括DOM文档树,css、js文件,图片资源等)
- $(document).ready()是当DOM文档树加载完成后执行(不包含图片,css等)所以比load快
- load只能用在window对象上:$(window).load、以及带有src的元素:如:$('img').load
- ready事件则可以加在任意元素上,可以同时注册多个,按照事件注册的先后顺序执行。
在原生的JS中不包括ready()这个方法,只有load方法就是onload事件。
cookie、localstorage、sessionstorage
- 怎么进行localstorage的回收,清除策略?? - 遍历检查容量,设置过期时间(记录创建时间 - 当前时间 > 生存期)
- 同源下的两个会话的sessionstorage可以互相访问吗 ?
跨域,是由于浏览器的限制,浏览器预先怎么判断服务器是允许请求的? - 发送Options请求
视频二面
项目介绍
手撕 JS:
1、对比两个多层对象是否相等 - 递归
2、写过promise吗? 手写promise.all
Promise.prototype.all = function (iterators) {
const promises = Array.from(iterators)
const promiseList = [],
len = promises.length
let count = 0
return new Promise((resolve, reject) => {
promises.forEach((promise, index) => {
Promise.resolve(promise).then(res => {
count++
promiseList[index] = res
if (count === len) {
resolve(promiseList)
}
}).catch(e => {
reject(e)
})
})
})
}
轮播图原理,怎么实现?用到的css属性
前端优化
看过webpack源码吗? 边看边写注释
答看过vue的 keep-alive, 是以vnode存储的,那怎么快速地转换、显示真实dom?