摘要:之前都是在 Windows 环境开发,自己其实是一直想买一台 Mac 的,但又觉得用处也不是很大,在准备买房的档口还是节省点开支吧。无奈公司给配了一台 Mac,还真的是很无奈呢🤷。 捣鼓了两天终于是把日常开发用的环境搭了起来,遂赶紧记录一下 Mac 开发环境的搭建和设置。
继续阅读:Mac 开发环境搭建
摘要:关于 Babel,一直使用得是稀里糊涂。安装了一堆包,说实话都有哪些作用和区别其实是说不上来的。再过几天就要离职了,暂时工作上没有其他事情,决定一探 Babel 的究竟。
继续阅读:Babel 使用指南
摘要:我的 GitHub 一旦没有更新,那基本就说明是在忙工作上的项目了。又是连着 10 天没有更新,除掉清明节放假,是因为这段时间在开发我的第一款微信小程序——搜狗翻译。今天终于是提交审核了,乘着等待审核的间隙,先通过字体导入这一个小问题对这段时间的开发做一个简单记录。
继续阅读:微信小程序之外部字体导入
摘要:最近碰上一个在 JavaScript 中实现可拖拽弹框的需求。搜索了一下相关资料后,发现张鑫旭大神写过一个 demo。大神就是大神,写的非常好,浏览器兼容性处理的也非常好。但是 demo 中的实现可以把弹框拖出屏幕,这样的体验可能会被用户吐槽,也非常容易被老板当成 bug 报出来。阅读了一下对应的源码,添加了屏幕边界的判断并整理为一个模块,贴在这里以后需要时可以直接拿来使用。
继续阅读:JavaScript 实现弹框拖拽
摘要:关于以上几个名词,在接触过几个前端工程之后应该都不会太陌生。这里不展开详细描述各个工具的作用是什么了,仅仅把相关基本的配置记录一下,方便拿来直接使用。
继续阅读:ESLint + Prettier + husky + lint-staged
摘要:hover 一个按钮或者链接后弹出一个下拉菜单是网页中常见的功能布局。看似简单,但其中的难点在于在下拉菜单中 hover 也能保证功能的正常。这里的实现主要是依靠定时器分别判断了下拉菜单入口和下拉菜单的 mouseenter
和 mouseleave
状态。
继续阅读:JavaScript 实现 hover 下拉菜单
摘要:众所周知,JavaScript 这门语言的核心特征就是单线程,也就是在 JS 引擎中负责解释和执行 JavaScript 代码的线程只有一个。JavaScript 的单线程与它的用途有关。作为浏览器脚本语言,JavaScript 的主要用途是与用户互动以及操作 DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。比如,JavaScript 同时有两个线程,一个线程在某个 DOM 节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线程为准?所以,为了避免复杂性,从一诞生 JavaScript 就是单线程,这已经成了这门语言的核心特征,将来也不会改变。尽管 HTML5 提出了 Web Worker 标准,允许 JavaScript 脚本创建多个线程,但是子线程完全受主线程控制,而且不得操作 DOM。所以,这个新标准并没有改变 JavaScript 单线程的本质。
继续阅读:JavaScript 的运行机制