面试题梳理 梳理一些有趣的面试题,查漏补缺 前端优化 降低请求量:合并资源,减少 HTTP 请求数,minify / gzip 压缩,webP,lazyLoad。 加快请求速度:预解析 DNS,减少域名数,并行加载,CDN 分发。 缓存:HTTP 协议缓存请求,离线缓存 manifest,离线数据缓存 localStorage。 渲染:JS/CSS 优化,加载顺序,服务端渲染,pipeline。 cli 2021-03-31 前端开发 js 面试题
http相关总结 HTTP 协议是基于 TCP 协议出现的,对 TCP 协议来说,TCP 协议是一条双向的通讯通道,HTTP 在 TCP 的基础上,规定了 Request-Response 的模式。这个模式决定了通讯必定是由浏览器端首先发起的.大部分情况下,浏览器的实现者只需要用一个 TCP 库,甚至一个现成的 HTTP 库就可以搞定浏览器的网络通讯部分。HTTP 是纯粹的文本协议,它是规定了使用 TCP 协议来 2021-03-31 前端开发 js 面试题
浏览器相关总结 前端开发工作和浏览器密切相关,本文总结一些和浏览器相关的知识,希望有所帮助 url 到页面加载输入 url 后, dns 解析首先需要找到这个 url 域名的服务器 ip,为了寻找这个 ip,浏览器首先会寻 找缓存,查看缓存中是否有记录,缓存的查找记录为:浏览器缓存-》系统缓存-》路由 器缓存,缓存中没有则查找系统的 hosts 文件中是否有记录,如果没有则查询 DNS 服务 器,得到服务器的 2021-03-31 前端开发 js 面试题
git常用操作 梳理 git 中易混的操作 git reset (–hard)git reset + commitId 返回指定 id 的提交,但是依然会保存我们已经提交的代码,知识 log 信息会删除git reset –hard 会重置所有已提交的代码到指定的版本 git rebase -i id以对应的 id 提交为基础,做处理 配合 git fetch 做一个合并冲突的操作git fetch + 远程 2021-03-29 前端开发 js
promise总结 整理一些 promise 常考的代码执行题 处理器函数 executor 中有 null如果 promise 的处理器函数 executor 中有 null,那么对应的状态会向下传递 12345678910111213var p1 = new Promise(function(resolve, reject){ reject(1000)})var p2 = p1.th 2021-03-29 前端开发 js
js柯里化实现 柯里化是 Javascript 中函数式编程的一个重要概念。js 柯里化 引用百科中的说明–柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术 主要的作用如下 延迟计算 参数复用 接下来我们分别使用代码实现一下 延迟计算参数个数已知12345678910111213141516171819202122232425 2021-03-28 前端开发 js 面试题
promise控制并发数量 控制并发数量主要是考察对 promise 的掌握情况。 使用 promise.all 实现实现思路:首先使用 while 并发多个请求然后不管那个异步请求执行完成,如果待执行的数组中还有任务,就会返回一个新的异步任务(最绕的就是这个)最后使用 Promise.all 监测所有并发数组执行完成返回。 123456789101112131415161718192021222324252627282 2021-03-27 前端开发 js 面试题
js中节流函数的实现方式 函数节流也是前端在监听处理高频事件时候,常用的优化方法,在不影响用户体验的情况下,限制事件触发的频率。常用的地方又页面 scorll, resize 事件,还有用户提交复杂表单,有时候会有定时保存草稿箱的功能,都可以使用函数节流来做优化。 定时器的实现方式123456789101112131415161718192021/** * 节流throttle(定时器) * * */var throt 2021-03-27 前端开发 js
js手写代码系列 js 中常用的一些方法的代码实现 new 操作引用 MDN 上的相关描述:new 关键字会进行如下的操作: 创建一个空的简单 JavaScript 对象(即{});链接该对象(设置该对象的 constructor)到另一个对象 ;将步骤 1 新创建的对象作为 this 的上下文 ;如果该函数没有返回对象,则返回 this。 12345678910111213// construct: 构造函数 2021-03-24 前端开发 js 面试题
一文看懂js中falsy值的比较 面试中的笔试题经常有碰到 js 中假值的比较,其实主要考察的是 js 中在非全等情况下,比较的一个类型隐式转换问题 示例代码js 中共有 8 个 falsy 值, 分别为 false, 0, 0n, -0, NaN, ‘’, null, undefined 还有 js 中易混的空数组和控对象。 12345678910111213<!-- 首先罗列所有易混的值 几个数字0 的转换表现一致所 2021-03-21 前端开发 js 面试题