JS实现贪吃蛇游戏

设计 规则 贪吃蛇初始为 1 点,可通过上、下、左、右键控制方向移动 每吃一个食物分数+1,每吃 10 个食物,等级+1,每升一级,速度 + 20ms 贪吃虫不能撞墙和自己,否则游戏失败 每吃掉一个食物,贪吃蛇长度+1,下一个食物会在随机位置出现。

宏任务和微任务

一个很好的练习事件循环的网站 https://www.jsv9000.app/ JS 将 异步任务 分为宏任务和微任务

前端文件流、切片下载和上传

一、前端文件流操作下面创建一个 fileUpload 的函数式组件,当用户选择文件时,通过FileReader将文件内容读取为 ArrayButter,然后将ArrayBuffer转换为十六进制字符串,并将结果显示在页面上。

性能优化

防抖节流函数

防抖 debounce - 重新开始应用场景:搜索框输入文字后调用对应搜索接口、文本编辑器实时保存 利用闭包,不管触发频率多高,在停止触发 n 秒后才会执行,如果重复触发,会清空之前的定时器,重新计时,直到最后一次 n 秒后执行

性能优化

什么操作可以造成内存泄露

由于疏忽或者错误造成程序未能释放已经不再使用的内存,不再用到的内存却没有及时释放,从而造成内存上的浪费。

Dom树怎么形成

当浏览器加载 HTML 文档时,它会执行一系列步骤来解析文档并构建 DOM 树。这个过程可以分为以下几个阶段:

js中精度丢失问题

JavaScript 精度丢失问题通常指的是浮点数精度丢失的情况,这是由于 JavaScript 中的浮点数采用 IEEE 754 标准表示,而该标准无法准确表示一些十进制小数。这可能导致在进行浮点数运算时出现意外的结果或精度损失。 0.1 + 0.2 // 返回0.30000000000000004

闭包

闭包是指函数与其词法环境的组合,函数可以访问其词法作用域中的变量,即使在函数定义之后执行也可以访问到。闭包可以在函数内部创建私有变量,并且可以通过返回函数或传递函数作为参数的方式,将这些私有变量暴露给外部作用域。闭包是 JavaScript 中非常强大和常用的特性,它能够帮助开发者实现许多功能,例如模块化、封装、延迟执行等。

深拷贝

手写深拷贝

js 手写函数

unshift()1234567891011const arr = [1, 2.3];arr.myUnshift(4, 5, 6);Array.prototype.myUnshift = function () { const len...

12