首页
首页
BOT
沸点
课程
直播
活动
AI刷题
NEW
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
凉城a
掘友等级
一个前端
|
steam
公众号:「前端面试官」 热爱技术也热爱生活
获得徽章 27
动态
文章
专栏
沸点
收藏集
关注
作品
赞
302
文章 119
沸点 183
赞
302
返回
|
搜索文章
凉城a
一个前端 @steam
·
1年前
举报
重绘不一定需要重排,重排必然会导致重绘
1、重排:当渲染树的一部分必须更新并且节点的尺寸发生了变化,浏览器会使渲染树中受到影响的部分失效,并重新构造渲染树。
1)添加、删除可见的dom
2)元素的位置改变
3)元素的尺寸改变(外边距、内边距、边框厚度、宽高等几何属性)
4)页面渲染初始化
5)浏览器窗口尺寸改变
2、重绘:是在一个元素的外观被改变所触发的浏览器行为,浏览器会根据元素的新属性重新绘制,使元素呈现新的外观。
二、减少reflow、repaint
1、不要一条一条的修改DOM的样式,可以先定义好css的class,然后修改DOM的className。
2、不要把DOM结点的属性值放在一个循环里当成循环里的变量。
3、为动画的HTML使用fixed或absolute的position,那么修改他们的css是不会reflow
作者:凉城a
链接:
juejin.cn
展开
前端面试官-一问到底系列
juejin.cn
前端开发圈
赞过
分享
评论
2
凉城a
一个前端 @steam
·
1年前
举报
在谢希仁著《计算机网络》第四版中讲 “三次握手” 的目的是 “为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。在另一部经典的《计算机网络》一书中讲“三次握手” 的目的是为了解决 “网络中存在延迟的重复分组” 的问题。这两种不用的表述其实阐明的是同一个问题。
谢希仁版《计算机网络》中的例子是这样的,“已失效的连接请求报文段”的产生在这样一种情况下:client 发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达 server。本来这是一个早已失效的报文段。但 server 收到此失效的连接请求报文段后,就误认为是 client 再次发出的一个新的连接请求。于是就向 client 发出确认报文段,同意建立连接。假设不采用 “三次握手”,那么只要 server 发出确认,新的连接就建立了。由于现在 client 并没有发出建立连接的请求,因此不会理睬 server 的确认,也不会向 server 发送数据。但 server 却以为新的运输连接已经建立,并一直等待 client 发来数据。这样,server 的很多资源就白白浪费掉了。采用“三次握手” 的办法可以防止上述现象发生。例如刚才那种情况,client 不会向 server 的确认发出确认。server 由于收不到确认,就知道 client 并没有要求建立连接。”
作者:凉城a
链接:
juejin.cn
展开
前端面试官-一问到底系列
juejin.cn
前端开发圈
赞过
分享
1
3
凉城a
一个前端 @steam
·
1年前
举报
忽然发现周杰伦已经结婚7年了。
马航客机失联已经8年了。
08奥运会已经过去14年了。
陈奕迅的十年竟然已是19年前的歌了。
不知道大家有没有经历过?
上课的时候老师不在,
一帮同学都在说话,
但是说着说着突然教室安静了,
然后大家前后左右看看,
发现老师根本没进来,
又继续聊天了。
似乎我们总是很容易忽略当下的生活,
忽略许多美好的时光,
而当所有的时光都在被辜负,被浪费后,
才能从记忆里将某一段拎出。
拍拍上面沉积的灰尘,
感叹他是最好的,
人果然无法同时拥有青春和对青春的感受,
人生如逆旅,我亦是行人。
展开
收起
查看大图
向左旋转
向右旋转
上班摸鱼
等人赞过
分享
34
19
凉城a
一个前端 @steam
·
1年前
举报
npm install 模块:安装好后不写入package.json中
npm install 模块 --save 安装好后写入package.json的dependencies中(生产环境依赖)
npm install 模块 --save-dev 安装好后写入package.json的devDepencies中(开发环境依赖)
npm uninstall 模块:删除模块,但不删除模块留在package.json中的对应信息
npm uninstall 模块 --save 删除模块,同时删除模块留在package.json中dependencies下的对应信息
npm uninstall 模块 --save-dev 删除模块,同时删除模块留在package.json中
作者:凉城a
链接:
juejin.cn
展开
实战技巧、vue+vant开发移动端
juejin.cn
前端开发圈
赞过
分享
1
2
凉城a
一个前端 @steam
·
1年前
举报
在实际情况中,GIF图具有下面的特征
(1)一张图像最多只会包含256个RGB值。
(2)在一张连续动态GIF里,每一帧之间信息差异不大,颜色是被大量重复使用的。
链接:
juejin.cn
展开
前端玩转GIF图片压缩
juejin.cn
前端开发圈
赞过
分享
评论
2
凉城a
一个前端 @steam
·
1年前
举报
区块链(Blockchain)是由节点参与的分布式数据库系统, 它的特点是不可更改,不可伪造,也可以将其理解为账簿系统(ledger)。它是比特币的一个重要概念,完整比特币区块链的副本,记录了其代币(token)的每一笔交易。通过这些信息,我们可以找到每一个地址,在历史上任何一点所拥有的价值。
作者:凉城a
链接:
juejin.cn
展开
什么是dapp?web3里的dapp?区块链天下无敌?
juejin.cn
前端开发圈
赞过
分享
评论
1
凉城a
一个前端 @steam
·
1年前
举报
TCP/IP协议能够迅速发展起来并成为事实上的标准,是它恰好适应了世界范围内数据通信的需要。它有以下特点:
协议标准是完全开放的,可以供用户免费使用,并且独立于特定的计算机硬件与操作系统。
独立于网络硬件系统,可以运行在广域网,更适合于互联网。
网络地址统一分配,网络中每一设备和终端都具有一个唯一地址。
高层协议标准化,可以提供多种多样可靠网络服务。
作者:凉城a
链接:
juejin.cn
展开
前端面试官-一问到底系列
juejin.cn
前端开发圈
等人赞过
分享
评论
5
凉城a
一个前端 @steam
·
1年前
举报
JS中的 '+' 号
当用作单目操作符的时候,+操作符不会对Number类型产生影响。但如果应用在字符串类型上,会将其转换为数字
通常使用+操作符可以快速地将字符串转换为数字。但是如果字符串字面量无法转化为数字的话,结果会出人意料
juejin.cn
展开
开发过程中使用,可以早点下班的coding小技巧
juejin.cn
前端开发圈
赞过
分享
评论
2
凉城a
一个前端 @steam
·
1年前
举报
如何实现截取视频第一帧作为封面?
这个问题的解决方案很容易想到
1、页面隐藏一个video标签
2、用户选择视频后,借助 window.URL.createObjectURL(file)创建一个本地视频链接给页面隐藏的video标签
3、让它播放,借助video的onloadedmetadata、ontimeupdate方法创建cavas画布截屏
4、截取完整后,删除视频链接window.URL.revokeObjectURL(videoUrl)释放内存
作者:凉城a
链接:
juejin.cn
展开
Vue重构项目完结篇
juejin.cn
前端开发圈
赞过
分享
1
2
凉城a
一个前端 @steam
·
1年前
举报
ES6中的flat
我们还可以直接调用 ES6 中的flat方法来实现数组扁平化。flat 方法的语法:arr.flat ( [depth] )
其中depth是flat的参数,depth 是可以传递数组的展开深度(默认不填、数值是 1),即展开一层数组。如果层数不确定,参数可以传进 Infinity,代表不论多少层都要展开:
作者:凉城a
链接:
juejin.cn
展开
开发过程中使用,可以早点下班的coding小技巧
juejin.cn
前端开发圈
赞过
分享
评论
2
下一页
个人成就
优秀创作者
文章被点赞
3,261
文章被阅读
259,529
掘力值
11,934
关注了
29
关注者
673
收藏集
5
关注标签
17
加入于
2019-07-31