前端面试核心必备!(10题)

166 阅读2分钟

图片懒加载底层原理 页面上的图片的 src 属性设为空字符串,真实路径则设置在一个自定义属性中备用,监听页面滚动 scroll 事件,在回调中,通过滚动高度判断图片是否进入可视区域,如果图片在可视区内则将图片的 src 属性设置为真实图片地址 js 怎么判断类型 typeof :判断基本类型 instance of:判断复杂数据类型 Object.property.toString.call(数据):这个方法兼容基本类型和复杂类型 自己封装过方法

  1. 请求拦截器
  2. 响应拦截器
  3. 递归转换公司组织架构数据
  4. excel 导入导出时数据对接转换 项目优化打包 一、减少请求数量, 合并 css之类 二、减小资源大小 压缩图片, 按需加载 之类 三、优化资源加载 cdn 加载第三方库之类 四、减少重绘回流, 防抖和节流之类 怎么学习前端的 看技术文章, 掘金, 知乎 看书 红宝书 (工作了之后真的值得看一看) 自己有封装过axios吗?就是封装一个request.js 有, 创建 request.js 文件引入 axios, 用 axios.create() 创建实例, 配置基地址和超时时间 配置请求拦截器和响应拦截器, 最后默认导出 在封装 api 函数的时候就引入这个 request 使用 数组去重 先转成 es6 里面的 Set 对象, 然后展开成为一个数组, 利用 Set 不能重复的特性去重, 示例如下 const newArr = [...new Set(arr)] 全局前置守卫的应用,自己举个小例子 路由中的前置守卫可以监听到所有的路由跳转,只有放行后才能真正去加载路由对应的组件渲染出来。 我们可以使用前置守卫来做全局的登录判断,如果在前置守卫中判断没有token或者token失效了则表示没有登录, 跳转登录页,否则就是有登录,放行原页面 使用vuex时怎么实现数据的持久化 通常将数据保存到本地存储中,刷新页面后再将vuex中的state 赋值为本地存储中取出的数据, 也有插件直接实现这个功能 小程序的数据绑定和vue有什么区别 直接用大括号插值表达式来绑定, 然后如果修改时, 一定要用 this.setData() 才会触发渲染