memorandum
函数节流
在函数需要频繁触发时: 函数执行一次后,只有大于设定的执行周期后才会执行第二次
适合多次事件按时间做平均分配触发
场景:
- 窗口调整(resize)
- 页面滚动(scroll)
- DOM 元素的拖拽功能实现(mousemove)
- 抢购疯狂点击(click)
函数防抖(debounce)
在函数需要频繁触发时: 在规定时间内,只让最后一次生效,前面的不生效。
适合多次事件一次响应的情况
场景:
- 输入框实时搜索联想(keyup/input)
cross-env
修改环境变量
在类中定义的函数默认开启了局部的严格模式
在类中直接写赋值语句如 a = 1
,意为在类的实例对象上添加一个属性名为a 值为1
//#region //#endregion代码折叠
状态码304 缓存文件
@import "~antd"
前面加 ~ 表示你后面的值为alias, 然后就会去webpack alias配置中找相应的值, 然后拼接成最后的地址
data:image/jpeg;base64,
小写ctrl+u
驼峰小写ctrl+shift+u
纯函数
一类特别的函数:只要是同样的输入(实参),就必定得到相同的输出(返回)
必须遵守以下约束
- 不得改写参数数据
- 不会产生任何副作用,如网络请求,输入输出设备
- 不能调用Date.now()或者Math.random()等不纯的方法
serve服务器
npm i -g serve
serve 路径
for..of 值
for..in 键
镜像源
npm 官方原始镜像网址是:https://registry.npmjs.org/
淘宝 NPM 镜像:https://registry.npm.taobao.org
阿里云 NPM 镜像:https://npm.aliyun.com
腾讯云 NPM 镜像:https://mirrors.cloud.tencent.com/npm/
华为云 NPM 镜像:https://mirrors.huaweicloud.com/repository/npm/
网易 NPM 镜像:https://mirrors.163.com/npm/
中科院大学开源镜像站:http://mirrors.ustc.edu.cn/
清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/
git提交注释
feat、feature: 新增 feature 新功能
fix: 修复 bug
docs: 仅仅修改了文档,比如 README, CHANGELOG, CONTRIBUTE等等
style: 仅仅修改了空格、格式缩进、逗号等等,不改变代码逻辑
refactor: 代码重构,没有加新功能或者修复 bug
perf: 优化相关,比如提升性能、体验
test: 测试用例,包括单元测试、集成测试等
chore: 改变构建流程、或者增加依赖库、工具等
revert: 回滚到上一个版本 撤销上一次的commit
add:新功能
update:更新
del:移除文件
build:构建工具或构建过程的变动,如:webpack升级、gulp替换为webpack等
workflow 工作流改进
ci 持续集成
types 类型定义文件更改
wip 开发中
<script type="module">
需要配合始终开启的 CORS 进行加载。这意味着你的服务器必须返回诸如 Access-Control-Allow-Origin: * 的有效的 CORS 头
权限
sudo chmod -R 777 sd-gateway-fe
深度选择器
>>>
可用于項目中的css原生样式,那么可以直接使用>>>
/deep/
项目中使用预处理器,如sass less等 都可以用/deep/
::v-deep
用于既有预处理器,还是vue项目用到ElemenUI时使用,目前我用到最多的就是这个
Reflect.ownKeys和Object.keys的区别
Reflect.ownKeys返回所有的属性不管是不是可枚举
Object.keys返回可枚举的属性
伪数组
拥有 length 属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理,这里你可以当做是个非负整数串来理解)
不具有数组所具有的方法
常见的伪数组有:
- 函数内部的 arguments
- DOM 对象列表(比如通过 document.getElementsByTags 得到的列表)
- jQuery 对象(比如 $("div") )
vscode注释
macOS:Ctrl + Cmd + I
macOS:Ctrl + Cmd + T
深浅拷贝比较
浅拷贝(shallow copy):只复制指向某个对象的指针,而不复制对象本身,新旧对象共享一块内存。
Object.assgin({}, obj)
[].concat(arr)
[...arr]
arr.slice()
深拷贝(deep copy):复制并创建一个一模一样的对象,不共享内存,修改新对象,旧对象保持不变。
JSON.parse(JSON.stringify(obj))
浏览器请求拷贝到postman
Copy as cURL(bash) 或者 Copy as cURL
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具