chai 断言框架


import { expect } from "chai";// 类型判断expect('test').to.be.a('string');expect({ foo: 'bar' }).to.be.an('object

【vue】Touch 事件会触发Click事件


在使用vue开发项目,在父组件上监听点击事件和触摸事件。子元素上有单独的事件处理函数。大致代码如下。<div @click="foo()" @touchend="foo()"><div @click.stop="baz()"

【javaScript】Object.is() 的出现是为了解决什么样的问题 ?


没有Object.is的时候存在的问题NaN === NaN // false+0 === -0 // trueObject.is 是如何解决这个问题的呢 ?function is(a, b) {// 判断0的情况 if (a === b) { /* 前提:-0 === 0

如何实现微信关注公众号自动登录功能 ?


如何实现微信关注公众号自动登录功能 ?背景:最近和我的小伙伴们基于 ChatGPT 开发了一个脑图生成工具。而登陆一直用的短信验证,比较消耗资金,于是就准备接入微信登陆。1. 前置条件通过审核的微信公众号有公网IP的web服务器核心概念:当用户扫描二维码时,微信服务会向我们配置url发起post请求

【http】强缓存与协商缓存


http 缓存缓存是优化网页性能的种手段,通过尽量不发起HTTP 请求(利用缓存)。来加快页面的渲染。强缓存http1.0 的 expireshttp1.0 中,通过头部字段 expires 定义缓存有效时间。expires 是一个绝对的日期。那么这个绝对值是取决于服务器,如果服务器和客户端的时间并

【五】kmp字符串匹配


kmp 字符串匹配算法就是为了使得,通过 **部分匹配表**(next数组) 使得 i 不会向后回退。

【typescript】协变与逆变


协变与逆变协变与逆变的推断TS 中的协变与逆变是针对函数标签类型的。用于来比较函数标签的类型层级。我们有如下两个函数标签class Animal {eating() {}}class Dog extends Animal { bark() {}}type AnimalFactory = (arg:

【typescript】类型层级系统


typescript 类型层级typeScript 中有一套类型兼容体系。对于每个类型,它们在这套体系中存在不同的位置。这位置就被抽象成,类型层级的概念。什么是类型层级呢 ?以下面一个例子来解释:type Res = "acwink" extends string ? 1 : 2

【javaScript】Promise 设计与实现


【javaScript】Promise 设计与实现Promise 状态设置Promise 一共由三种状态,pendding, fulfilled rejected。const PROMISE_STATUS_PENDDING = "pendding";const PROMISE_S