js 位掩码

定义掩码const mask0 = parseInt("00000001", 2); const mask1 = parseInt("00000010", 2); const mask2 = parseInt("00000100", 2); const mask3 = parseInt("00001000", 2);

- 阅读全文 -

js中~~和 | 的妙用

双~的用法~~它代表双非按位取反运算符,如果你想使用比Math.floor()更快的方法,那就是它了。需要注意,对于正数,它向下取整;对于负数,向上取整;非数字取值为0,它具体的表现形式为:~~null; // => 0 ~~undefined; // => 0 ~~Infinity; // => 0 --NaN; // => 0 ~~0;

- 阅读全文 -

ES6 尾调用和尾递归

什么是尾调用?尾调用(Tail Call)是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚,就是指某个函数的最后一步是调用另一个函数。function f(x){ return g(x); }上面代码中,函数f的最后一步是调用函数g,这就叫尾调用。以下三种情况,都不属于尾调用。// 情况一 function f(x){ let y = g(x); return y; } /

- 阅读全文 -

为什么Chrome的document.body.scrollTop可以是小数

JavaScript突然发现新版的Chrome的scrollTop可以是一个小数,为什么可以是小数,这么做有什么意义?我可能滚动小数个像素吗?随着市面上各种高分屏,高DPI,都会出现这样的问题设计师的电脑真香,2K屏他毕竟工作在抽象的绘图空间上的,px的概念已经从最初的屏幕物理像素变成了一个长度单位,随着你屏幕dpi的不同,一个px所代表的真实像素数也不同。所以现代的2D渲染系统都是以浮点数定义坐

- 阅读全文 -

jwt 实践应用以及特殊案例思考

JSON Web Token 是 rfc7519 出的一份标准,使用 JSON 来传递数据,用于判定用户是否登录状态。jwt 之前,使用 session 来做用户认证。

- 阅读全文 -