使用 div 和 css 实现一个圆形
使用 div 和 css 实现一个圆形,红色部分站 60%,绿色 40%,使用 1/4 圆 + 扇形即可 <!DOCTYPE html> <html lang="en"> <head> <meta c…
JavaScript 观察者模式
class Observer { update(data) { // 处理收到的通知数据 console.log(`Received data: ${data}`) } } class Subject { constructor() { this.observe…
JavaScript 单例模式
class Singleton { static instance constructor() { if(!Singleton.instance) { Singleton.instance = this return this } return Singleton.instanc…
Cookie 和 Storage API 区别与详解
它们都是浏览器数据存储的方案,是用于解决数据持久化的问题。除此之外,数据也可以存储在内存中(比如挂载到 window 等全局对象下),但这种方式每…
Promise 不能被取消真的算是缺点吗?
前两天面试的时候,面试官问到 Promise 有哪些缺点? 我的回答是,在处理多个异步操作时,需要编写多个 then() 或 catch() 方法来处理结果,尽管可以…
使用 HTML5 的更快 Web 应用程序的最佳实践
许多 HTML5 旨在为我们迄今为止通过 JavaScript 库实现的组件和技术提供本机浏览器支持。 使用这些功能(如果存在)最终可以为您的用户提供更快的体验…
JavaScript 闭包详解
继上一篇文章 JavaScript 脚本编译与执行过程简述,再来介绍一下 JavaScript 中神奇的闭包(Closure)。 闭包是基于词法作用域书写代码时所产生的自…
小程序 textarea 组件的坑
都 2021 年了,微信小程序 textarea 组件还是那么多问题,兼容性问题在 Android 机型(特别是低配置的)上尤为突出。 假设组件如下: <textarea nam…
npm 安装时锁定版本
我们知道,使用 npm 或 yarn 安装包时,它会以 ^x.y.z 形式添加到 package.json 里面。 { "devDependencies": { "typescript": "^5.0.2" } } 可通过 …
微信小程序将字符串中所有 \\n 转换成 \n
假如有一个配置的功能,接口返回数据如下,其中 \n 表示换行,即在前端需要换行展示。 <view style="white-space: pre-wrap">{{message}}</view…
本地项目关联远程 Git 仓库
步骤 本地项目初始化 git $ git init 关联远程仓库 $ git remote add origin <远程仓库地址> # 例如 # git remote add origin git@github.com:toF…