![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
html5
Kid thePhantom Thief
专注于大前端技术开发(前端与客户端以及底层C )近两年偏向于前端渲染引擎、游戏引擎应用及源码研究
展开
-
Vue 虚拟节点及diff算法详解
Vue进入2.0以来在其内部加入了虚拟dom的实现,减少了dom的操作,极大提高了性能,同时其diff算法的时间复杂度为O(n),性能很高。虚拟dom首先我们来看下什么是虚拟DOM(virtual DOM ),虚拟DOM就是提通过js生成一个dom对象,之后通过diff算法比较之后生成patch,即补丁,之后虚拟dom通过补丁更新,再渲染成真实DOM显示出来,可以看到只涉及到了一次DOM操作,效率、性能无疑很高。具体实现步骤:初始化时创建虚拟dom树将虚拟dom render成实体dom,显示出原创 2020-07-09 21:47:24 · 1505 阅读 · 0 评论 -
nodejs命令行工具的开发
命令行工具的开发应该是每个前端工程师必备的技能,但是有很多同学刚开始学习时不知道如何入手,今天就来简单介绍一下如何用commander来开发命令行工具。初始化首先cd进入某个文件夹,运行npm init,根据提示信息来生成package.json文件;之后在同级目录下创建bin/test1.js文件;接着在package.json中增加bin字段:"bin": { "test1": "./bin/test1.js" },我们在写命令行工具的时候,需要指定一个可执行文.原创 2020-06-24 15:52:09 · 658 阅读 · 0 评论 -
npm命令浅析
npm 脚本有一个非常强大的功能,就是可以使用 npm 的内部变量:通过npm_package_前缀,npm脚本可以拿到package.json里面的字段; console.log(process.env.npm_package_name); // package.json内的name字段 console.log(process.env.npm_package_version); // 1.2.5repository字段的type属性,可以通过npm_package_repos.原创 2020-06-24 15:42:12 · 466 阅读 · 0 评论 -
js动态添加svg
js动态添加svg今天在做一个基于bpmnjs的项目时候,想在任务节点内部的<text>标签对中添加一个<tspan>显示出来,即给任务节点添加名字。刚开始时是用jQuery找到text,然后直接append,加入自己要加的内容进去,但是发现虽然加进去了,但是在页面部分不显示,纠结好久,试了许多方法,最后终于发现错误。我是在svg标签里面加内容展示,但是却在内部加的是html的标签对,所以导致不显原创 2017-03-08 22:35:39 · 2698 阅读 · 0 评论 -
js数组去重
由于项目需要做了几个月的前端项目,但是以前没接触过,直接写项目有的小知识点不清楚还得经常查,万事开头难,慢慢来,故也想把小的知识点记录在这里,留给自己有时间翻翻。这个知识点就是indexOf(),开始时候一直以为这个方法知识用来判断字符串里面是否有给定的字符串,但是偶然看到竟然能跟在数组之后进行判断数组是否存在目标值,mark一下。下面是在数组去重的方法里面碰到的:利用indexOf方法;va原创 2017-03-08 23:07:43 · 179 阅读 · 0 评论 -
performance.now() VS Date.now()
performance.now() VS Date.now()最近在研究THREE.js时,Clock方法的解释中有这么一段话: Object for keeping track of time. This uses performance.now() if it is available, otherwise it reverts to the less accurate Date....原创 2018-05-21 18:01:41 · 3558 阅读 · 0 评论