小程序循环require之坑

2019-03-07
阅读 3 分钟
3.5k
在JavaScript中,模块之间可能出现相互引用的情况,例如现在有三个模块,他们之间的相互引用关系如下,大致的引用关系可以表示为 A -> B -> C -> A,要完成模块A,它依赖于模块C,但是模块C反过来又依赖于模块A,此时就出现了循环require。

JS的二进制操作

2019-02-15
阅读 2 分钟
4.3k
之前在某个项目中,遇到了许多JS的二进制操作场景,因此总结下JS中的二进制操作方法。 所谓二进制操作,是指操作变量实际存储的值,比如获取字符A的Unicode值,或者将值100填入到8个字节中。 1. 位操作符 JS中的位操作与很多语言类似,具体的位运算符如下表所示。 运算符 用法 描述 按位与 a & b 对于每一个比特位,...

小猪乔治和border-radius

2018-06-14
阅读 2 分钟
5.5k
以前我在使用这个属性时,只知道这个是表示圆角,常用border-radius: 5px实现圆角长方形或者border-radius: 50%来画圆形。在开发小猪的过程中,会需要使用许多不太规则的形状,因此需要了解该属性更深入的原理,才能满足我的开发需求。

HTTP缓存机制

2018-06-14
阅读 2 分钟
1.8k
简介 缓存是指将之前请求过的内容存储在本地,之后可以重复利用而不用再次重新获取相同的内容。 合理利用缓存是提高Web性能的一个重要方法,加快了客户端渲染速度,同时减轻了服务器的压力。下面我们来介绍HTTP缓存的一些机制。 分类 HTTP缓存可以分成两类:from cache 和 304缓存。 from cache:在并不会真的发出HTTP请...

DOM层级顺序与z-index

2018-04-14
阅读 5 分钟
14.2k
DOM层级顺序,大概来说就是DOM节点在z轴方向(垂直于屏幕向外的方向)的显示优先级。为了调整DOM层级顺序,我们想到的往往就是用CSS的z-index属性来控制。虽然看着很简单,但是有时在使用时,我们有时也许会碰到一些一些奇奇怪怪的问题:

前端单元测试之Karma环境搭建

2016-09-13
阅读 4 分钟
23.9k
Karma是由Google团队开发的一套前端测试运行框架。它不同于测试框架(例如jasmine,mocha等),运行在这些测试框架之上。主要完成一下工作: