公司项目
项目总集
个人项目
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>
恢复误删的本地分支 ...
提交(Commit)查看HEAD上最近一次的提交(commit)123git showgit log -n1 -p
修改提交信息(commit message)123git commit --amend --onlygit commit --amend --only -m 'xxx'
修改提交的用户名和邮箱1git commit --amend --author 'new authorname email'
从一个提交移除一个文件12345git checkout HEAD^ myfilegit add -Agit commit --amend
删除最后一次提交12345git reset HEAD^ --hardgit push -f [remote][branch]git reset --soft HEAD@{1}
删除任意提交123git rebase --onto SHA1_OF_BAD_COMMIT^ SHA1_OF_BAD_COMMITgit push -f [remote][branch]
强推到 ...
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"}