如何用js创建声音 问题来源实习时的项目有一个节拍器的需求(根据谱子打节拍) 考虑了两种方式,当然可以使用一个简短的音频文件,在每个拍子到来时播放。抱着不增加额外资源的原则,我便提出了这样一个问题:JS 能不能创造声音? 查阅资料HTML5 Web Audio API 是一个非常强大的 API,但因为在实习之前极少接触音频文件,所以我对其并不了解。 我们需要利用其中的 AudioContext 实现方式1234567 2022-10-14 JS > 可能不太重要的知识点
svg 什么是 svgsvg 是矢量图的一种格式。用 xml 来描述图形。 位图:放大会失真图像边缘有锯齿;是由像素点组成; Canvas 就是位图效果。 矢量图:放大不会失真;使用 XML 描述图形。 和 html 的关系使用时可以将其理解为 html 的新标签 1<svg></svg> 在不给 <svg> 设置宽高时,它的默认宽度是 300px ,默认 2022-09-29 可视化 #svg
Mini Vue vue 整体流程 vue 的三个 coreReactivity Module创建 JS 响应对象,并观察其变化,当使用这些对象的代码运行时,他们会被跟踪,当响应式对象变化时,代码会运行。 Compiler Module将 HTML 模板编译成渲染函数 Render Module三个阶段 Render Phase 渲染阶段,调用 render 函数,返回一个虚拟DOM节点 Mount P 2022-09-28 Vue
grid布局 grid布局概念Grid 布局将容器划分成”行”和”列”,产生单元格,然后指定”项目所在”的单元格,可以看作是二维布局。 容器属性行数行宽/列数列宽使用grid-template-columns 定义每一列列宽 grid-template-rows 定义每一行行宽 12345.container { display: grid; grid-template-colu 2022-09-27 CSS
npm run xxx npm run xxx后发生了什么去 package.json 的 scripts 里找对应的 xxx,然后执行 xxx 123456789101112131415{ "name": "", "private": , "version": "", "type": 2022-09-24 Vue
DocumentFragment 文档碎片什么是文档碎片它被作为一个轻量版的 Document 使用,就像标准的 document 一样,存储由节点(nodes)组成的文档结构。与 document 相比,最大的区别是它不是真实 DOM 树的一部分,它的变化不会触发 DOM 树的重新渲染(重绘重排),且不会对性能产生影响。 使用最常用的方法是使用 DocumentFragment 创建并组成一个 DOM 子树,然后使用 Node 2022-09-23 优化
服务端渲染 客户端渲染 预渲染 三种渲染方式客户端渲染:用户访问 url,请求 html 文件,前端根据路由动态渲染页面内容。关键链路较长,有一定的白屏时间; 服务端渲染:用户访问 url,服务端根据访问路径请求所需数据,拼接成 html 字符串,返回给前端。前端接收到 html 时已有部分内容; 预渲染:构建阶段生成匹配预渲染路径的 html 文件(注意:每个需要预渲染的路由都有一个对应的 html)。构建出来的 html 文 2022-09-10 优化 #性能优化
pokemon项目 为什么要做这个项目1.练习 vue3+ts,学习一些 css 技巧(布局/动画效果) 2.网页版的宝可梦图鉴很少,大都是app。并且宝可梦图鉴大都很丑,让人没有使用的欲望。 3.其实更想做篮球和足球的数据图鉴,但是没找到免费的开源接口 数据描述getPokemonApi(id: number) base_experience:击败这只宝可梦获得的经验 abilities: 能力/ 2022-09-06 项目
JavaScript设计模式与开发实践 面向对象的JS鸭子类型如果它走起路来像鸭子,叫起来也是鸭子,那么它就是鸭子 只关注对象的行为,而不关注对象本身 多态同一操作作用于不同对象上时,可以产生不同的解释和结果。 多态背后的思想是将 “做什么” 和 “谁去做以及怎样去做,也就是将 ”不变的事物“ 与 ”可能改变的事物” 分类开来。这样后续再增加新的对象时,仅仅增加代码即可,不用再去修改之前的代码。 使用继承来得到多态效果,是让对象表现出多 2022-09-05 书籍 #设计模式