写在前面 2019 初,我开始了我的第一篇博客,说是写作,但更多的是 「做笔记」「转载」 等浅显的文章。 开始是在 CSDN 上写博客,一些杂乱的学习笔记就在本地笔记软件上写。在学习过程中,遇到一些问题借助搜索引擎来寻求解答是很常见的事,不过经常会搜到一些“垃圾文章”,要不就是转载的然后连排版都没做好,要不就是说明一个问题但是完全没回答到点子上或是解释的不清不楚,当然,也有很多博客,文章思路清晰、有 2020-08-17
ThreeJS 测距功能 测距功能,也就是选择两点,计算它们的距离,实现效果大致如下: 上图中主要涉及几个操作: 点击鼠标左键选点,点击鼠标右键停止选点,若选择点数超过两点,则两点绘制一条线段,两点中心添加一个距离标签 动态绘制点和线段 动态绘制距离标签 确定两点后添加 xyz 辅助线 按下 ESC 键撤销上一步操作 选点绘线 首先,我们需要通过鼠标在三维空间中选点,但是我们的屏幕是二维的,还有一维不知 2021-01-27 WebGL ThreeJS 测距 Three绘制标签 Three动态绘制线段
Redux学习 参考资源: 阮一峰博客 中文文档 Demo 仓库:https://github.com/yleave/redux-demo 基本概念 有几个图片可以帮助理解 redux: 这张图片说明了 reudx 的作用:组件间的信息传递不用再只能通过相邻的父子组件进行传递了,而是统一由一个仓库 store 来管理这些 state: 有两个: redux : js 的状态管理 如 creat 2021-01-20 React redux react-redux redux-thunk
threejs画面拖动事件判断 前因:想实现一个小功能,有一个参数 lockTiles,当鼠标在屏幕上拖动时,参数 lockTiles 设置为 true,停止拖动时,lockTiles 重设为 false。 思考了一下,这个功能并不难,有两个方向可以实现这个功能: 根据相机是否移动来设置 设置鼠标监听事件,使用 mousedown、mousemove 和 mouseup 来判断是否进行了拖动 不过在对鼠标进行事件 2021-01-13 WebGL ThreeJS 鼠标事件 拖拽判断
函数作用域和闭包 闭包 引用红皮书 p178 上对闭包的陈述: 闭包是指有权访问另一个函数作用域中的变量的函数。 有两个要点: 闭包是函数 它可以访问另一个函数的作用域中的变量 闭包有几个特点: 1. 闭包可以访问当前函数以外的变量 function getOuter() { let date = '112'; function getDate( 2021-01-12 JS 作用域和闭包 闭包
股票问题 总结一下力扣上的股票交易问题。有: 121.买卖股票的最佳时机 122. 买卖股票的最佳时机 II 123. 买卖股票的最佳时机 III 188. 买卖股票的最佳时机 IV 309. 最佳买卖股票时机含冷冻期 714. 买卖股票的最佳时机含手续费 这些问题基本上都是差不多的套路,都可以使用动态规划或是贪心解决。 121.买卖股票的最佳时机 https://leetco 2021-01-09 算法题 解答 LeetCode 贪心 动态规划 股票问题
词法作用域和动态作用域 作用域 作用域是指程序源代码中定义变量的区域。 它规定了如何查找变量,也是就确定当前执行代码对变量的访问权限。 JS 采用了词法作用域(lexical scoping),也就是静态作用域。 静态作用域和动态作用域 JS 采用的词法作用域是静态作用域,因此函数的作用域在函数定义的时候就决定了。 与静态作用域相对的是动态作用域,函数的作用域是在函数调用的时候才决定的。 例如: 2021-01-08 JS 作用域和闭包 词法作用域
ThreeJS 杂记 ThreeJS 中的矩阵存储 ThreeJS 文档 在 ThreeJS 中,矩阵是以列主序的方式存储的,也就是说有行主序矩阵: [12345678910111213141516]\begin{bmatrix} \color{red}1 & \color{red}2 & \color{red}3 & \color{red}{4} \\ \color{green}5 & 2021-01-08 WebGL ThreeJS 矩阵
原型和原型链 首先,在 JS 中可以使用类或构造函数来创建一个实例: function Person() {} // or class Person {} Person.prototype.name = 'Kevin'; let p1 = new Person(); let p2 = new Person(); // p1.name === p 2021-01-08 JS 原型和原型链 原型
3.JS内存机制 JS 内存空间分为 栈、堆、池(一般归类为栈中)。其中栈存放变量,堆存放复杂对象,池存放常量,因此也叫常量池。 变量的存放 JS 使用了传统的堆栈来保存变量: 基本类型:保存在栈内存中,这些类型在内存中有固定的大小,通过按值来访问。基本数据类型一共有 6 种:Undefined、Null、Boolean、Number、String、Symbol(ES6) 引用类型:保存在堆内存中,因为 2021-01-05 JS JS调用堆栈 JS内存回收 内存泄漏