摘要: JavaScript中的对象 ECMA-262把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数。”严格来讲,这就相当于说对象是一组没有特性顺序的值。对象的每一个属性或方法都有一个名字,而每个名字都映射到一个值。正因为这样(以及其他将要讨论的原因),我们可以把ECMAScript的对 阅读全文
posted @ 2019-04-28 18:28 snsart 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 在构建大型程序的时候,为了方便代码管理,会根据不同的功能把代码分为多个片段(或模块)并存储在不同的文件中,在代码执行时需要把这些代码模块合并成一个单一的可执行文件,这个合并过程称之为链接。本文详细描述了链接的整个过程。 阅读全文
posted @ 2019-04-24 13:17 snsart 阅读(1037) 评论(0) 推荐(0) 编辑
摘要: 本文总结了优化代码提高代码性能的方法和流程,从算法设计到编程的基本原则介绍,最后通过分析处理器执行过程,说明了如何编写代码以便运用处理器的指令级并行能力。 阅读全文
posted @ 2019-04-18 11:43 snsart 阅读(1370) 评论(3) 推荐(1) 编辑
摘要: 本文深度讲解了计算机缓存系统,并通过一个简单的存储层次模型,分析了高速缓存是如何工作的。最后说明了作为程序员要如何写出缓存友好的代码。 阅读全文
posted @ 2019-04-13 12:38 snsart 阅读(6076) 评论(0) 推荐(1) 编辑
摘要: 一、react是什么? react是一个js框架,可以用它来编写html页面,使用react后我们可以完全抛弃html(只需要一个主index文件),而用纯js来编写页面; 二、为什么要使用react 和直接用html编写页面相比,使用react有以下几点好处: 1. 便于代码的复用 用html编写 阅读全文
posted @ 2019-04-10 16:26 snsart 阅读(7807) 评论(5) 推荐(0) 编辑
摘要: 一、问题概述 如何将下列的一个图形(下图左)用鼠标沿着白色格线切成多块(比如沿着黑色路径切割成下图右的两块)呢? 二、解决思路 把组成图形的每个小方块全部存入数组A中,关键要考虑的是如何根据切割路径将数组A分解为数组A和B,B用来存储切割下来的那块图形中的小方块。要解决此问题需要以下几步: 1.为数 阅读全文
posted @ 2018-04-05 23:39 snsart 阅读(691) 评论(0) 推荐(0) 编辑
摘要: 一、问题引入 网络上经常会遇到判断图形个数的题目,如下例: 如果我们要把图中所有三角形一个一个选出来,在已知每个交点的前提下,该如何用代码判断我们选的图形是否是三角形呢。如下图,如何把图3筛选出来呢? 这里需要用到两步: 1.得到所选图形(阴影部分)所包含的所有小图形的顶点集合,求集合的凸包,根据凸 阅读全文
posted @ 2018-03-16 18:58 snsart 阅读(3232) 评论(1) 推荐(0) 编辑
摘要: a和b为两个向量,a=(x1,y1);b=(x2,y2); 一、点积 a·b的几何意义为a在b上的投影长度乘以b的模长 a·b=|a||b|cosθ,其中θ为a,b之间的夹角 a·b=x1*x2+y1*y2; 点积的应用 (1)判断两个向量是否垂直 a⊥b <=> a·b=0 (2)求两个向量的夹角 阅读全文
posted @ 2018-03-15 17:21 snsart 阅读(2465) 评论(0) 推荐(0) 编辑
摘要: 一、three.js采用右手坐标系: x轴正方向向右,y轴正方向向上,z轴由屏幕从里向外,如下图右: 二、3D编程三要素:场景、渲染器、摄像机 1.场景:创建的物品和模型都需放入场景中 threejs创建场景的方式 scene = new THREE.Scene(); 2.渲染器 (1)创建渲染器 阅读全文
posted @ 2018-02-08 17:22 snsart 阅读(502) 评论(0) 推荐(0) 编辑
摘要: 一、执行环境 执行环境定义了变量和函数有权访问的其他数据,决定了他们各自的行为;每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中。虽然我们编写的代码无法访问这个对象,但解析器处理数据时会在后台使用它。 全局执行环境是最外围的一个执行环境,在web浏览器中,全局执行 阅读全文
posted @ 2017-12-27 16:42 snsart 阅读(181) 评论(0) 推荐(0) 编辑