TsLint配置介绍

{ "defaultSeverity": "warning", "extends": [ "tslint:recommended" ], "linterOptions": { "exclude": [ "node_module

- 阅读全文 -

Vue3.x和Vue2.x的不同之处

Vue3.x和Vue2.x的不同点1、main.js引入方式不一样// vue3 //code by www.joynop.com import { createApp } from 'vue' import App from './App.vue' createApp(App).mount('#app') // 没有全局的Vue// vue2.X //code by www.joynop.co

- 阅读全文 -

前端如何解决pc端屏幕显示设置缩放比例对页面布局的影响?

现在很多笔记本电脑都推荐将缩放设置为125%,等比例放大显示。(垃圾Windows这对我们前端的页面的布局会产生一些影响首先,单独的响应式布局hold不住这个问题,因为出问题的是device-pixel-ratio。问题现象是高分屏下整好的东西,在普分屏下会放大;而普分屏下整好的东西,在高分屏上会缩小。重现这个问题不需要高分屏,直接用Ctrl++或者Ctrl+-出来的效果是跟高分屏一致的(所以搞定

- 阅读全文 -

学会threejs鼠标交互Raycaster拾取物体

对场景内的模型增加事件监听,实现鼠标交互,须要用到Raycaster(光线投射)类。拾取物体的原理webGL中获取鼠标交互物体的原理:通过三维空间中相机视点与鼠标在屏幕上的地位的连线,造成一条直线,捕捉与此直线相交的空间中的物体,即为交互对象物体。在three中,Raycaster为咱们封装了大量的逻辑代码,包含生成相机到鼠标的射线、射线与空间物体的碰撞检测、射线相交物体深度计算、相交物体列表等等

- 阅读全文 -

JavaScript脏检查

什么是脏检查?脏检查的全名是 脏数据检查。是AngularJS命名的。脏数据也就是产生了变化的数据。脏检查因一个原因而被称为脏。它定时检查而不是直接监听属性变化。我们把这个检查称为摘要周期(digest)。angularJS监测对象变化不是像vue.js那样通过Object.defineproperty这种接口,而是在某些情况下制定策略,通过复制保存一份数据,进行快照对比,来监测变化。脏检查这个东

- 阅读全文 -

js 位掩码

定义掩码const mask0 = parseInt("00000001", 2); const mask1 = parseInt("00000010", 2); const mask2 = parseInt("00000100", 2); const mask3 = parseInt("00001000", 2);

- 阅读全文 -

模型对象旋转平移缩放变换

点模型Points、线模型Line、网格网格模型Mesh等模型对象的基类都是Object3D,如果想对这些模型进行旋转、缩放、平移等操作,如何实现,可以查询Threejs文档Object3D对相关属性和方法的介绍。缩放网格模型Mesh的属性.scale表示模型对象的缩放比例,默认值是THREE.Vector3(1.0,1.0,1.0),.scale的属性值是一个三维向量对象Vector3,查看th

- 阅读全文 -

ThreeJs常用材质介绍

为了方便开发Threejs提供了一系列的材质,所有材质就是对WebGL着色器代码的封装,如果你不了解WebGL,会通过查阅Threejs文档使用相关材质类即可。点材质PointsMaterial点材质比较简单,只有PointsMaterial,通常使用点模型的时候会使用点材质PointsMaterial。点材质PointsMaterial的.size属性可以每个顶点渲染的方形区域尺寸像素大小。va

- 阅读全文 -

ThreeJS 设置材质效果

半透明效果更改场景中的球体材质对象构造函数THREE.MeshLambertMaterial()的参数,添加opacity和transparent属性,opacity的值是0~1之间,transparent表示是否开启透明度效果, 默认是false表示透明度设置不起作用,值设置为true,网格模型就会呈现透明的效果,使用下面的代码替换原来的球体网格模型的材质, 刷新浏览器,通过鼠标旋转操作场景,可

- 阅读全文 -

settimeout、setinterval区别和相互模拟

看到“避免双重求值”一节时有提到settimeout()、setinterval() 建议传入函数而不是字符串以作为第一个参数,所以这里总结一下settimeout()和setinterval()的区别,以及它们之间的相互模拟。setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式(函数更好,下面会解释为什么函数更好!)。语法:setTimeout(code,millisec)cod

- 阅读全文 -

EVAL IS EVIL?(eval 函数是魔鬼吗?) eval can be harmful

eval can be harmful1. eval的用法?eval() 函数可以用来计算某个字符串,并执行其中的javascript代码。其语法eval(string);如果传入的参数不是字符串,则直接返回这个参数。2. eval在什么时候使用?当我们预先不知道执行什么语句,只有条件和参数给定时才知道执行什么语句3. why eval is evil ?eval is evil这句话是Dougl

- 阅读全文 -

js中~~和 | 的妙用

双~的用法~~它代表双非按位取反运算符,如果你想使用比Math.floor()更快的方法,那就是它了。需要注意,对于正数,它向下取整;对于负数,向上取整;非数字取值为0,它具体的表现形式为:~~null; // => 0 ~~undefined; // => 0 ~~Infinity; // => 0 --NaN; // => 0 ~~0;

- 阅读全文 -