公司项目
项目总集
个人项目
canvas-utils
react-gadget
node-tbuys
docs
smart_flutter_app
vue-vite-app
threejs-sets
react-umi
typescript-canvas
webrtc-framework
webgl-framework
make-react-game
frontend-dev-doc
blog
make-quasar
site-nav
文档汇总
AirCode 文档
JavaScript MD5
HTML5+ API Reference
JavaScripting
JavaScrypt Encryption and Decryption
算法通关手册
LeetCode
Git教程
Socket.IO 中文文档
Socket.IO
Socket.io 文档
WebRTC samples
WebRTC文档
RustFisher 安卓|Java|设计模式|WebRTC|Python|NestJS|PyQt
WebRTC中文网
声网 RTE 开发者社区
音视频文章汇总
WebRTC 详解 ...
本地工作区文件恢复1git checkout <filename/dirname>
远程分支删除后,删除本地分支及关联123git branch --unset-upstream <branchname>git branch --unset-upstream feature/test
修改提交时的备注内容123git commit --amendgit log --pretty=online
修改分支名123git branch -m <oldbranch> <newbranch>git branch -m feature/stor-13711 feature/story-13711
撤回提交1234567git reset --soft [<commit-id>/HEAD~n]git reset --soft HEAD~1git reset --mixed HEAD~1git reset --hard HEAD~1
撤销本地分支合并1git revert <commit-id>
恢复误删的本地分支 ...
类型
说明
feat
新特性
fix(scope)
修复 scope 中的 Bug
feat!:/feat(scope)!:
breaking change / 重构 API
build
变更影响的是构建系统或者外部依赖 (如: gulp, npm)
ci
修改了 CI 配置文件或脚本 (如: Github Action, Travis)
chore
【重要】 变更不影响源代码或测试(如更新了辅助工具、库等)
docs
只修改了文档
feat
【重要】 一个新特性
fix
【重要】 修复了一个 Bug
perf
增强性能的代码变更
refactor
并非修复 Bug 或添加新特性的代码变更
revert
回退代码
style
变更不影响一些有意义的代码 (如: 删除空格、格式化代码、添加分号等)
test
添加测试代码或修正已有的测试
提交(Commit)查看HEAD上最近一次的提交(commit)123git showgit log -n1 -p
修改提交信息(commit message)123gi ...
JS原型链1234567891011function Person() {}Person.prototype.name = "abc";Person.prototype.sayName = function () { console.log(this.name);};let person = new Person();person.__proto__ = Person.prototype;String.__proto__ = Function.prototype;String.constructor = Function;
JS继承原型继承12345678910function Parent() { this.name = "Parent"; this.sex = "male";}function Child() { this.name = "Child";}Child.prototype = new Parent ...
响应式数据根据数据类型【数组和对象】进行不同处理。
对象内部通过defineReactive方法,使用Object.defineProperty()监听数据属性的get进行数据依赖收集,再通过set完成数据更新。
数组则通过重写数组方法实现。扩展7个变更方法(push/pop/shift/unshift/splice/reverse/sort),通过监听这些方法收集依赖和派发更新。
多层对象通过递归实现监听,Vue3使用proxy实现响应式数据。响应式流程:defineReactive定义响应式数据;给属性增加dep收集对应的watcher;等数据变化进行更新。dep.depend——get取值,依赖收集;dep.notify——set设置,通知视图更新。
性能优化点:1. 对象层级过深;2. 不需要响应式数据不放在data;3. Object.freeze可以冻结数据。
日期格式化12345678910111213141516171819202122// 格式化日期类型,fmt格式可选择function dateFormat(fmt, date) { let ret; let opt = { "Y+": date.getFullYear().toString(), // 年 "M+": (date.getMonth() + 1).toString(), // 月 "D+": date.getDate().toString(), // 日 "h+": date.getHours().toString(), // 时 "m+": date.getMinutes().toString(), // 分 "s+": date.getSeconds().toString(), // 秒 "ms+": date.getMilliseconds().toString ...
最近在做一个消息定时器,需要在离线环境中使用,通过表单写入事项存储到本地,渲染在表格中。尝试过使用Node.js进行文件读写操作,受到UI框架的限制;同时测试了localStorage存储,也达不到想要的效果。最后直接使用WebSql和indexDB来完成。以下是一个DEMO,实际效果正在测试中…
123456789// html<button id="btn-create">创建user数据表</button><button id="btn-insert">插入数据</button><button id="btn-query">查询数据</button><button id="btn-update">修改数据</button><button id="btn-delete">删除数据</button><button id="btn-drop&qu ...
安装编译工具
12345678910"scripts": { "start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\"", "lite": "lite-server", "tsc": "tsc", "tsc:w": "tsc -w"},"devDependencies": { "concurrently": "^5.0.0", "lite-server": "^2.5.4"}
1234567891011121314151617181920212223242526272829303132{ "compilerOpt ...