自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 JavaScript 中的this

this 分享什么是this?​ 当一个函数调用时,会创建一个活动记录也就是执行上下文。调用记录包含了,调用栈、传入的参数、函数的调用方法。this 就是这个记录上的一个属性,在函数运行时动态绑定,它的上下文取决于函数调用时的各种条件。和函数申明的位置无关。(取决于调用位置)this 不是指向函数自身,也不是指向函数的词法作用域。使用调试工具查看函数调用栈​ 在函数中第一句使用 debu...

2019-05-19 20:05:53 92

原创 TypeScript 玩转类型操作之基础篇(回来,不是讲基础类型)

探索 TypeScript 类型操作的基础知识,先介绍 typeof 、keyof、extends、infer 等操作关键词的使用方式(作为基础);然后介绍TS提供的通用类型工具(详细介绍官方源码具体实现);这两个部分熟练掌握,我们就掌握TS体操的核心内容了,剩下的就是考虑根据类型目标情况如何选择类型操作顺序。欢迎成为体操小能手~

2023-07-19 09:44:36 211

原创 TypeScript 中的元数据以及 reflect-metadata 实现原理分析

本文主要介绍 TypeScript 常搭配使用的reflect-metadata是什么;如何使用reflect-metadata来操作元数据;解读reflect-metadata的实现原理以及规范。

2023-07-14 22:54:14 434

原创 TypeScript 中装饰器 decorator 的知识

本文主要介绍关于 TS 中装饰器 Decorator 的相关内容以及使用场景;介绍如何实现一个简单DI依赖注入例子;

2023-07-12 22:30:58 167

原创 TypeScript 中的 Module

它们是用于描述已存在的JavaScript代码的类型信息的文件,主要描述JavaScript 模块的结构(导出类的参数类型,函数签名格式等)目的是方便在ts代码中进行类型检查和智能感知提醒。通常代码中除了部分需要提前执行的代码(权限检查,用户校验等),其余的都放在HTML文档的末尾进行加载(可显式异步加载)执行。脚本的依赖关系是隐藏的(需要认真阅读代码,逐层debug才能分析清楚),脚本按照架子啊的顺序执行,脚本之间加载的顺序很重要【脚本加载的顺序变化可能出现: 函数未找到,变量未定义等错误 】

2023-06-28 22:24:29 208

原创 ThreeJS 纹理贴图创建一个我的世界草地方块

开始准备使用ThreeJS写一个类似《我的世界》场景的射击类游戏,地形和我的世界很相似。场景中需要进行很多的纹理贴图,本篇文章主要以给一个立方体贴图成草地为例子介绍 ThreeJS 中如何添加纹理?如何解决纹理贴图后方块不展示(纹理未生效,效果是黑色方块)问题?

2023-06-06 10:20:36 336

原创 React state 结构设计原则

如果state存在重复相同的数据时,这部分重复的数据很难保持同步更新。深度嵌套的state不便于更新,更新时,需要一层一层的解构,重组成新的嵌套对象。react 进行state更新时,引用类型数据需要使用新的引用结构进行更新【解构复制,修改对应value】,如果嵌套层级过多,更新时解构层级越复杂,容易出问题。如果存在这种问题,则需要考虑避免当前这种state的结构, 使用不同的值去区分冲突的 state,这样就把多个冲突的state 合并成1个state,区别在于value的变化以及其代表的意义。

2023-06-01 08:22:55 52

原创 ThreeJS 坐标系(旋转跳跃,永不停歇)

Mesh 内部还涉及到局部空间和局部坐标系(local coordinate system) ,Mesh 上还可以添加 Mesh(将一个Mesh作为另一个Mesh的children, child Mesh 位置变换就会相对于 parent Mesh 的局部坐标系进行变换计算)。计算时 meshA移动计算相对于scene的坐标系(这里就是世界坐标系), meshB 移动计算时相对的坐标系是 meshA的局部坐标系。虽然每个 mesh 都有自己的坐标系,但是最后呈现到屏幕上我们看见的还是基于世界坐标系的。

2023-05-31 22:25:46 959 1

原创 ThreeJS 入门如何渲染出第一个3D图形

在 openGL 中相机的位置固定在(0,0,0)位置,所有的相机移动实际都是对场景中的所有对象进行矩阵变换。openGL 提供的图元实际很基础(点,线,线环,线带,三角形,三角扇,三角带,四边形),ThreeJS 进行的大量封装使得我们更好进行形状生成。视场角决定了场景在相机前方可见的范围,纵横比定义了视图的宽高比,近剪裁面和远剪裁面则定义了相机的可见范围。在 Three.js 中,使用 THREE.Scene 来创建 scene(场景),scene包含了所有 3D 对象、光源和相机的容器。

2023-05-29 08:16:02 434 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除