- 博客(9)
- 收藏
- 关注
原创 剑指offer算法篇(javascript)(上)number[1-40]
时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。空间维度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。因此,评价一个算法的效率主要是看它的时间复杂度和空间复杂度情况。然而,有的时候时间和空间却又是「鱼和熊掌」,不可兼得的,那么我们就需要从中去取一个平衡点。时间复杂度:我们想要知道一个算法的「时间复杂度」,很多人首先想到的的方法就是把这个算法...
2020-01-15 21:48:02 345
转载 理解算法复杂度
时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。空间维度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。因此,评价一个算法的效率主要是看它的时间复杂度和空间复杂度情况。然而,有的时候时间和空间却又是「鱼和熊掌」,不可兼得的,那么我们就需要从中去取一个平衡点。时间复杂度:我们想要知道一个算法的「时间复杂度」,很多人首先想到的的方法就是把这个算法...
2020-01-15 11:08:40 353
转载 浏览器渲染笔记(二)
开篇笔记css加载不会阻塞DOM树的解析css加载会阻塞DOM树的渲染css加载会阻塞后面js语句的执行JS 会阻塞后续 DOM 的解析和其它资源(如 CSS,JS 或图片资源)的加载。css加载不会阻塞DOM树的解析,不会阻塞其它资源(如图片)的加载,CSS加载会阻塞DOM树的渲染,也会阻塞 JS 文件的执行。因此,为了避免让用户看到长时间的白屏时间,我们应该尽可能的提高css加载速...
2020-01-12 21:52:00 115
转载 浏览器渲染笔记(一)
进程与线程进程是cpu资源分配的最小单位(系统会给它分配内存)进程之间相互独立,对于浏览器,每打开一个Tab页都可以认为开了一个新的进程。进程拥有自己的多线程,各个线程之间相互协作完成任务。对于浏览器,开一个新页面(进程)工作的是以下线程:与浏览器页面渲染有关的主要是和这里的GUI引擎线程和JS引擎线程:GUI引擎线程(后面我们说UI线程):解析html css,进行DOM,CS...
2020-01-12 21:19:28 146
转载 微型编译器(AST语法树添加)
微型编译器大多数编译器分为三个主要阶段:解析,转换,和代码生成解析正在获取原始代码并将其转换为更抽象的代码代码的表示形式。转换接受此抽象表示并进行操作编译器想要的任何东西。代码生成采用代码的转换表示形式,将其转换为新代码。解析通常分为两个阶段:词法分析和语法分析。词法分析提取原始代码并将其拆分为一个个有效标识,它们是由微小的小物体组成的数组,描述了一个孤立的片断的语法。它们可以是数...
2020-01-12 20:26:57 602
转载 AST抽象语法树
JS之ASTJavascript就像一台精妙运作的机器,我们可以用它来完成一切天马行空的构思。我们对javascript生态了如指掌,却常忽视javascript本身。这台机器,究竟是哪些零部件在支持着它运行?AST在日常业务中也许很难涉及到,但当你不止于想做一个工程师,而想做工程师的工程师,写出vue、react之类的大型框架,或类似webpack、vue-cli前端自动化的工具,或者有批...
2020-01-11 14:10:02 311
转载 js对象的访问器属性和数据属性
JavaScript 数据属性和访问器属性var obj = {name:"percy"};console.log(obj.name); // percyobj.name = "zyj";console.log(obj.name); // zyj// 这里借 Math 对象来举例// 首先说明一下, Math 对象和上面定义的 obj 对象都只是 Object 对象的一个...
2020-01-10 21:13:27 728
转载 js继承方法分析(原型与原型链)
js继承方法分析原型链继承function SuperType() { this.property = true;}SuperType.prototype.getSuperValue = function() { return this.property;}function SubType() { this.subproperty = false;}...
2020-01-10 17:13:25 103
转载 JS this指向问题
this的指向问题1.常规函数的this指向this是使用call方法调用函数时传递的第一个参数,它可以在函数调用时修改,在函数没有调用的时候,this的值是无法确定。谁调用它this就指向谁。function test(name) { console.log(name) console.log(this)}test('Jerry') //调用函数//下面代码为上面...
2020-01-10 15:56:33 180
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人