闭包和作用域 • April 16, 2023
对于那些有一点JavasScript使用经验但从未真正理解闭包概念的人来说,理解闭包可以看做某种意义上的重生,但是需要付出非常多的努力和牺牲才能理解这个概念。闭包是基于词法作用域书写代码时所产生的自然结果,你甚至不需要为了利用他们而有意识地创建闭包。闭包的创建和使用在你的代码中随处可见。你缺少的是根据你自己的意愿来识别、拥抱和影响闭包的思维环境。
React Refs的多种用法归纳整理 • September 12, 2021
Refs 提供了一种方式,允许我们访问 DOM 节点或在 render 方法中创建的 React 元素。
React中PureComponent的浅比较 • September 12, 2021
PureComponent是react中创建组件的一种方式,可以减少不必要的更新,进而提升性能。这也是React应用性能优化的一种方式。
写一个好玩的万花筒 • April 26, 2021
Get All Images in DOM (including background) • October 14, 2020
To get all the images in DOM there are actually three places we are going to look at: <img> element, background-image CSS property and, <iframe>. Yes, every iframe hides a magical kingdom.
获取一周的开始时间与结束时间 • April 14, 2020
获取一天所属一周的开始时间和结束时间。
JavaScript 有必要缓存 for 循环中的 Array.length 吗? • March 18, 2020
先上笔者得到的结论:缓存 Array.lengh 对优化影响不大,甚至会减慢。
JavaScript 继承总结 • September 24, 2019
总结js继承的几种形式和场合。
ES6 随笔:函数与块级作用域 • August 21, 2019
阅读 Kyle Simpson 《You don't JS: Scope and Closures》第三章过程中的一些随笔
定位与拖动 iframe • June 26, 2019
用户选择一段文本之后,会在鼠标附近显示一些元素。 这个初看很简单,监听一个 mouseup 事件,获取 clientX 和 clientY 就行。但这个方法有个缺陷:iframe 里的鼠标事件不会传到父窗口上。解决方法也很简单,就难在把它们都联系起来。
JavaScript 创建对象总结 • March 20, 2019
JavaScript 是一门灵活的语言,就创建对象而言就有各种各样的方法。本文是《JavaScript高级程序设计》(第3版)的笔记,主要是针对各种创建对象方法之间的关系、优缺点进行梳理。每种方法相关的其它细节不是本文重点,我会标记页码。
React Native 搭配 MobX 使用心得 • December 13, 2018
MobX 是一款十分优秀的状态管理库,不但书写简洁还非常高效。当然这是我在使用之后才体会到的,当初试水上车的主要原因是响应式,考虑到可能会更符合 Vue 过来的思考方式。然而其实两者除了响应式以外并没有什么相似之处。
React 黑魔法之 Portal + SyntheticEvent + iframe • July 15, 2018
在实现划词扩展的时候,查词面板等模块需要植入到源网页,为了更方便地隔离样式污染,植入的模块均使用了 <iframe> 包装。在前一个 Vue 实现的版本 Saladict 5 中,有几个不太舒服的小小小小地方: <iframe> 内外事件不通。 <iframe> 内外环境不一样,变量不能共用,需要 postMessage 交流。 Vue 组件必须要有一个根元素,且 v-if…
选中鼠标附近的文字 • June 22, 2018
选中鼠标附近的文字摸索记录。
深入 React Render Props 模式 • April 03, 2018
随着 React 的新 Context API 出来,render props 模式再次发挥重要作用。本文将尝试深入理解 render props 的利弊,并结合高阶组件寻找合适的处理方式。 基础 先看官方给出的简单例子: 加个 DataProvider 的简单实现, 这里是将一个返回 React 元素的函数传给 DataProvider 的 props.render,DataProvider…
阅读 jQuery 源码的18个惊喜 • March 06, 2018
Jquery作为从前统治网页的框架,看看源码,对深入去学习js很有启发。
理解 RxJS :四次元编程 • February 16, 2018
RxJS 属于响应式编程,其思想是将时间看作数组,随着时间发生的事件被看作是数组的项,然后以操作数组的方式变换事件。其强大的地方在于站在四维的角度看问题,这就像是拥有了上帝视野。
获取 DOM 里所有图片(包括背景和iframe) • March 09, 2017
在写浏览器扩展什么的时候可能会用上。 获取 DOM 里的图片主要是在这几个地方里面找: <img> 元素, background-image CSS 属性和 <iframe>。 img 如果只想获取 <img> 的图片,有两种方式: 直接获取所有 img 标签: 还可以用 document.images: background-image 获得背景图片需要查看所有 DOM…