首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
前端
订阅
ChuChencheng
更多收藏集
微信扫码分享
微信
新浪微博
QQ
23篇文章 · 0订阅
一个合格的中级前端工程师需要掌握的 28 个 JavaScript 技巧
2. 循环实现数组 map 方法 3. 使用 reduce 实现数组 map 方法 4. 循环实现数组 filter 方法 5. 使用 reduce 实现数组 filter 方法 6. 循环实现数组的
前端算法之弹幕设计
大家都说前端写页面较多,几乎用不到算法。本文愿从弹幕设计这个场景来描述算法在前端中的应用,我们先来看下实现效果: 开场之前我们先来描述弹幕开发的难度,再集中精力描述算法设计的思路。 如果弹幕采用相同的字号,碰撞的问题处理起来比较简单,只要考虑相邻弹幕的播放速度和偏移的位置就可以…
移动端300ms点击延迟和点击穿透
故事:2007 年初。苹果公司在发布首款 iPhone 前夕,遇到一个问题:当时的网站都是为大屏幕设备所设计的。于是苹果的工程师们做了一些约定,应对 iPhone 这种小屏幕浏览桌面端站点的问题。 这当中最出名的,当属双击缩放(double tap to zoom),这也是会有…
从Chrome源码看WebSocket
WebSocket是为了解决双向通信的问题,因为一方面HTTP的设计是单向的,只能是一边发另一边收。而另一方面,HTTP等都是建立在TCP连接之上的,HTTP请求完就会把TCP给关了,而TCP连接本身就是一个长连接吗,只要连接双方不断关闭连接它就会一直连接态,所以有必要再搞一个…
大型项目前端架构浅谈(8000字原创)
我在2年之前,写过一篇中小型项目的前端架构浅谈。随着能力的上升,以及在阿里巴巴工作的经验,是时候写一篇大型项目的前端架构分析了。 本篇文章不会更多侧重于具体技术实现,而是尝试从更高角度出发,分析为什么要这么做,这些设计能解决什么问题,成本和收益如何。 由于作者能力有限,可能会有…
JavaScript中的“黑话”
黑话,本指旧时江湖帮会人物的暗语、暗号,往往见于小说,后指流行于某一特殊行业中,非局外人所能了解的语言。而本文涉及到的“黑话”,其实是一些利用语言的特征使用的一些不常见的奇淫技巧,JavaScript的语法是十分简单灵活的,在项目中建议大家遵从ESLint规范编写可维护性的代码…
记一次简单的vue组件单元测试
记录一些在为项目引入单元测试时的一些困惑,希望可以对社区的小伙伴们有所启迪,少走一些弯路少踩一些坑。 这并不是最终结果,测试vue单文件组件,当然少不了vue-test-utils,但是将它放在什么位置呢。 需要阅读vue-test-utils源码。 Chai是一个node和浏…
JavaScript骚操作之遍历、枚举与迭代(上篇)
这是一段标准的for循环代码,通过变量i去追踪数组arr的索引,达到访问数组中每一位元素的目的。 需要花费精力去处理越界问题,一些编译型语言在遇到数组索引越界时会报错,而JavaScript引擎将不会告诉你任何错误信息,错误定位成本会比较高。 一切看起来都是那样的完美,即不需要…
流程图——正交连线的算法的一种简单实现
其实有很多库已经实现了流程图,比如 jointjs,gojs,jsplumb 等等。可惜都不是免费的。 如果要做的简单呢,就用贝塞尔曲线就好了,只需要提供起点终点两个点的坐标,就能用简单的算法生成一个svg 的path了。这样算法网上应该找得到。 但是如果要用正交连线来实现,这…
你的Tree-Shaking并没什么卵用
Tree-Shaking这个名词,很多前端coder已经耳熟能详了,它代表的大意就是删除没用到的代码。这样的功能对于构建大型应用时是非常好的,因为日常开发经常需要引用各种库。但大多时候仅仅使用了这些库的某些部分,并非需要全部,此时Tree-Shaking如果能帮助我们删除掉没有…