某人

此前素未谋面、此后遥遥无期

0%

Turborepo 高性能构建系统

Turborepo 是一个用于 JavaScriptTypeScript monorepos 的高性能构建系统。Turborepo 重新设计了 Facebook 和谷歌使用的构建系统技术,以消除维护负担和开销。

阅读全文 »

keep-alive语法

props
  • include - 字符串或正则表达式。只有名称匹配的组件会被缓存。
  • exclude - 字符串或正则表达式。任何名称匹配的组件都不会被缓存。
  • max - 数字。最多可以缓存多少组件实例。

includeexclude prop 允许组件有条件地缓存。二者都可以用逗号分隔字符串、正则表达式或一个数组来表示:

阅读全文 »

语法

Vue.nextTick( [callback, context] )

  • 参数:
    • {Function} [callback]
    • {Object} [context]
  • 用法:
    • 在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM
1
2
3
4
5
6
// 修改数据
vm.msg = 'Hello'
// DOM 还没有更新
Vue.nextTick(function () {
// DOM 更新了
})

2.1.0起新增:如果没有提供回调且在支持 Promise 的环境中,则返回一个 Promise。请注意 Vue 不自带 Promisepolyfill,所以如果你的目标浏览器不原生支持 Promise (IE:你们都看我干嘛),你得自己提供 polyfill

阅读全文 »

React Hooks

HookReact 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。

  1. 只在最顶层使用 Hook
  2. 只在 React 函数中调用 Hook
阅读全文 »

Chrome滚动条样式

CSS滚动条选择器
  • ::-webkit-scrollbar — 整个滚动条.
  • ::-webkit-scrollbar-button — 滚动条上的按钮 (上下箭头).
  • ::-webkit-scrollbar-thumb — 滚动条上的滚动滑块.
  • ::-webkit-scrollbar-track — 滚动条轨道.
  • ::-webkit-scrollbar-track-piece — 滚动条没有滑块的轨道部分.
  • ::-webkit-scrollbar-corner — 当同时有垂直滚动条和水平滚动条时交汇的部分.
  • ::-webkit-resizer — 某些元素的corner部分的部分样式(例:textarea的可拖动按钮).
阅读全文 »

rn蓝牙打印2

本文是 rn蓝牙打印 的补充

上一篇文章里面主要说了蓝牙打印用ESC指令,这一篇补充一下TSC指令

以下大部分代码来源于佳博SDK

阅读全文 »

蓝牙4.0

蓝牙4.0标准包含两个蓝牙标准,准确的说,是一个双模的标准

现在移动设备上使用的蓝牙大多是4.0,而蓝牙 4.0 有两个分支,经典 4.0BLE4.0

经典蓝牙(classic Bluetooth)

经典蓝牙可以用与数据量比较大的传输,如语音,音乐,较高数据量传输

阅读全文 »

事件循环

Event Loop 是一种运行机制。

宏任务macrotask和微任务microtask两个概念,这表示任务的两种分类。

在挂起任务时,JS 引擎会将所有任务按照类别分到这两个队列中,首先在 macrotask 的队列(这个队列也被叫做 task queue)中取出第一个任务,执行完毕后取出 microtask 队列中的所有任务顺序执行;

之后再取 macrotask 任务,周而复始,直至两个队列的任务都取完。

阅读全文 »

Promises

Promise 表示一个异步操作的最终结果,与之进行交互的方式主要是 then 方法,该方法注册了两个回调函数,用于接收 promise 的终值或本 promise 不能执行的原因。

一个 Promise有以下几种状态:

  • pending: 初始状态,既不是成功,也不是失败状态。
  • fulfilled: 意味着操作成功完成。
  • rejected: 意味着操作失败。
  1. Promise 本质是一个状态机。每个 promise 只能是 3 种状态中的一种:pending、fulfilledrejected。状态转变只能是 pending -> fulfilled 或者 pending -> rejected。状态转变不可逆。
  2. then 方法可以被同一个 promise 调用多次。
  3. then 方法必须返回一个 promise 。规范里没有明确说明返回一个新的 promise 还是复用老的 promise(即 return this),大多数实现都是返回一个新的 promise ,而且复用老的 promise 可能改变内部状态,这与规范也是相违背的。
  4. 值穿透(上一个promise传递过来的值,经由这个then方法的时候不做任何处理,而是交给再下个then方法去处理)。
阅读全文 »

原型链

JavaScript主要通过原型链实现继承。原型链的构建是通过将一个类型的实例赋值给另一个构造函数的原型实现的

内部指针__proto__

  1. 遵循ECMAScript标准,someObject.[[Prototype]] 符号是用于指向 someObject的原型;
  2. 这个等同于 JavaScript 的非标准但许多浏览器实现的属性 __proto__;
  3. 从 ECMAScript 6 开始,[[Prototype]] 可以通过Object.getPrototypeOf()Object.setPrototypeOf()访问器来访问;
  4. 但它不应该与构造函数 funcprototype 属性相混淆
  5. 被构造函数创建的实例对象的 [[prototype]] 指向 funcprototype 属性。
  6. Object.prototype 属性表示Object的原型对象。
阅读全文 »