My Blog

「黎明到来之前都是黑暗的」

位运算的强大

位运算到底怎么实现它的价值

位运算,默默无闻而不被人关注,但却在 js 开发中发挥着举足轻重的作用。 什么是位运算 位运算(Bitwise Operations)的执行效率是非常快的,能给我们的开发带来很多方便。 位运算:「指的是将一个整数的二进制格式进行运算」。JS 中,如果对一个数据进行位运算,它首先会将其转换为一个整数(抹掉小数), 并且按照 32 位的整数二进制进行排列。 1 2 3 4 2.3 ->...

中文输入法导致的高频问题

High-frequency problems caused by Chinese input methods

我们经常会给 input 绑定事件监听内容的变化,然后做出一些处理。但是如果你注意,你就会发现在中文下,你还没有确定内容(比如 enter),但是绑定的方法已经触发了。 你的绑定是这样的, 1 <input type="text" @input="onSearch" v-model="msg"> 结果就是在中文输入法下,你还没选择文字,onSearch就触发了。 ...

网页复制

解决网页文字复制不了的问题

我们在阅读一些文档的时候,需要对某些文字进行 「复制」,但是当我们复制时,有时就会出现弹窗,让你登录或者开 vip。又或者你自以为成功复制,可是你粘贴的时候才发现根本没复制成功。 既然这么搞,那我们就来分析分析,看这个技术是怎么实现的。 我们页面上有一段文字。 「噫(y)吁(xū)嚱(x),危乎高哉!蜀道之难难于上青天。蚕丛及鱼凫,开国何茫然。尔来四万八千岁,不与秦塞通人烟。西当太白有...

老生常谈的代码回滚

如果有效的回滚代码

并不适合阅读的个人文档。 git revert 和 git reset 的区别 先看图: sourceTree 中 revert 译为提交回滚,作用为忽略你指定的版本,然后提交一个新的版本。新的版本中已近删除了你所指定的版本。 reset 为 重置到这次提交,将内容重置到指定的版本。git reset 命令后面是需要加2种参数的:–-hard 和 –-soft。这条命令默认...

常使用的 Git 命令

不适合阅读的整理的一些个人常用的 Git 指令

随便整理的一些自用的Git指令 GitHub创建仓库提示代码 1 2 3 4 5 6 echo "# 项目名" >> README.md git init git add README.md git commit -m "first commit" git remote add origin git@github.com:qiubaiying/项目名.git git ...

React Hooks 是否可以改为用类似 Vue 3 Composition API 的方式实现?

Thinking in React vs. Thinking in Vue

这篇文章转载自Hux在知乎上的回答 不能,因为是很不一样的心智模型(Mental Model)。我觉得很多同学只关注到了这两套 API 在功能上都能复用逻辑的相似点,而低估了两个框架体系「大背景」上的差异。 正文开始前我先声明一下, 一是本文观点不代表公司。我是觉得圈子里不认同 Hooks 的声音太多了(比如 @徐飞 叔叔、 @贺师俊 贺老、 @题叶 同学等老朋...

为什么 CSS 这么难学?

Why I dislike CSS as a programming language

这篇文章转载自我在知乎上的回答 对我来说,CSS 难学以及烦人是因为它「出乎我意料之外的复杂」且让我觉得「定位矛盾」。 @方应杭 老师的答案我赞了:CSS 的属性互不正交,大量的依赖与耦合难以记忆。 @顾轶灵 @王成 说得也没错:CSS 的很多规则是贯彻整个体系的,而且都记在规范里了,是有规律的,你应该好好读文档而不是去瞎试。 「CSS是一门正儿八经的编程语言,请拿出你学C+...

如何理解 document 对象是 HTMLDocument 的实例?

Why is document an instance of HTMLDocument?

这篇文章转载自我在知乎上的回答 谢邀。 首先要理解的是 DOM 是 API,是一组无关编程语言的接口(Interfaces)而非实现(Implementation)。前端平时常说的 DOM 其实只是浏览器通过 ECMAScript(JavaScript)对 DOM 接口的一种实现。 其次要知道的是,DOM 既是为 HTML 制定的,也是为 XML 制定的。而两者各有一些特异的部...

如何客观地评价「小程序」的体验?

Wechat Mini-Program vs. the Web, a UX comparison

本文首发于我的知乎专栏 The Little Programmer,转载请保留链接 ;) 2017 年 1 月 9 号凌晨,看完《星战》回家,发现朋友圈都炸了……原来是「小程序」如约公测(以下简称小程序)。果然贵圈人都睡得晚啊,一个个大半夜了精神得不行。 截图推荐什么的已经漫天都是了,而且连 「推荐小程序的小程序」都已经出现了,我们就直入正题吧,今天笔者不跟你们聊情怀,就聊体验:...

你们觉得响应式好呢,还是手机和PC端分开来写?

这篇文章转载自我在知乎上的回答 根据你的产品特点,进行两种不同的设计, 根据你的设计需求,选择合适的技术方案。 A与B不是硬币的正反面,它们为了解决同一个问题而生,它们是同一种思想的延伸。 移动和桌面设计的差别远不止是布局问题。只要有足够的编程量,这些差别是可以通过响应式设计来解决的。事实上,你可以认为如果一种设计不...