2021年1月22日

浅谈JavaScript中的堆栈执行过程

摘要:执行代码如下: 下面总结下堆栈中的底层执行,如下图所示: 首先,需要执行的代码放在js执行环境栈中 1.创建全局执行上下文AO,首先把a=10,foo的地址放在栈中,并且在创建的时候有自己的作用域,创建对应foo对应的堆地址AB1。 2.在执行栈中开启foo执行栈BO,从伪数组中获取参数2,以及fo 阅读全文

posted @ 2021-01-22 21:32 メSerendipity 阅读(72) 评论(0) 推荐(0) 编辑

2021年1月21日

浅谈JavaScript代码性能优化

摘要:可以通过https://jsbench.me/测试网站完成性能测试。 一.慎用全局变量 1.全局变量定义在全局执行上下文,是所有作用域链的顶端,在局部作用域中没找到的变量都会到全局变量中去查找,所以说查找的 时间消耗比较大。 2.全局执行上下文一直存在于上下文执行栈,直到程序退出。 3.如果某个及局 阅读全文

posted @ 2021-01-21 17:28 メSerendipity 阅读(249) 评论(0) 推荐(1) 编辑

2021年1月19日

浏览器performance工具介绍及内存问题表现与监控内存的几种方式

摘要:一.GC的目的 为了实现内存空间的良性循环,performance提供多种监控方式监控内存 分析内存相关信息 当代码出现问题的时候及时定位到出现问题的代码块, 提高执行效率。 preforcemance使用步骤(以谷歌浏览器为例) 进入开发人员工具面板(F12)->点击preforcemance-> 阅读全文

posted @ 2021-01-19 17:21 メSerendipity 阅读(253) 评论(0) 推荐(1) 编辑

2021年1月17日

V8引擎新老生代回收机制及对比

摘要:一.什么是V8引擎 目前最主流的JavaScript执行引擎,V8采用即时编译,内存设限极大增加了运行速度,垃圾回收策略采用分代回收的思想 内存分为新生代回收机制,老生代回收机制,针对不同的对象采用不同的算法,如下图所示: 二.V8中常用的GC算法 分代回收 空间复制 标记清除 标记整理 标记增量 阅读全文

posted @ 2021-01-17 20:00 メSerendipity 阅读(59) 评论(0) 推荐(0) 编辑

2021年1月16日

GC算法介绍及工作原理和优缺点

摘要:一.GC定义与作用 GC就是垃圾回收机制的简写 GC可以找到内存中的垃圾,并释放和回收空间,GC里的垃圾是什么 如下图所示: GC算法是什么:GC是一种机制,垃圾回收器完成具体的工作 工作的内容就是查找垃圾释放空间,回收空间算法就是工作时查找和回收 所遵循的规则。常见GC算法有引用计数,标记清除,标 阅读全文

posted @ 2021-01-16 22:41 メSerendipity 阅读(280) 评论(0) 推荐(0) 编辑

JavaScript性能优化之内存管理及垃圾回收

摘要:一.JavaScript性能优化之内存管理 首先要了解几个概念: 内存:由可读写单元组成,表示一片可操作空间 管理:人为的去操作一片空间的申请,使用和释放 内存管理:开发者主动申请空间,使用空间,释放空间 内存管理流程 申请-使用-释放 javaScript没有相应的api去操作空间,所以我们在Ja 阅读全文

posted @ 2021-01-16 15:11 メSerendipity 阅读(31) 评论(0) 推荐(0) 编辑

2021年1月15日

TypeScript接口与类的使用

摘要:一.TypeScript接口 Interfaces 可以约定一个对象的结构 一个对象去实现一个接口 就必须拥有这个接口中所有的成员用interface定义接口, 并且定义接口中成员的类型 编译之后会发现typeScript中的接口只是对成员做类型约束的 定义string类型的key值和value值接 阅读全文

posted @ 2021-01-15 16:52 メSerendipity 阅读(60) 评论(0) 推荐(0) 编辑

2021年1月14日

浅谈TypeScript,配置文件以及数据类型

摘要:TypeScript在javaScript基础上多了一些拓展特性,多出来的是一些类型系统以及对ES6新特性的支持最终会编译成原始的javaScript, 文件名以.ts结尾,编译过后.js结尾,在angular和vue源码以及开发过程中的业务代码中也可能会用到。 一.安装TypeScript npm 阅读全文

posted @ 2021-01-14 15:16 メSerendipity 阅读(57) 评论(0) 推荐(0) 编辑

2021年1月11日

JavaScript静态类型检查器FLow的使用,移除及类型

摘要:使用Flow可以弥补JavaScript弱类型问题所带来的弊端,为JavaScript提供了更完善的系统,目前Vue及React项目中都在用,是一个 非常成熟的技术方案,工作原理是给有需要的地方添加一些类型注解(并不要求所有的都加),来标记参数和变量是什么类型,避免 到了运行阶段才发现类型使用上的错 阅读全文

posted @ 2021-01-11 20:57 メSerendipity 阅读(29) 评论(0) 推荐(0) 编辑

2021年1月10日

浅谈编程语言类型的强类型,弱类型,动态类型,静态类型

摘要:在介绍javascript类型系统之前,我们来解释两组区分不同编程语言时,提及的名词分别为强类型和弱类型,静态类型和动态类型, 分别从类型安全和类型检查区分了强弱类型和静动类型 一.通过类型安全区分 分为强类型和弱类型 强类型:语言层面限制了实参类型和形参类型必须相同,如果传入其他类型的值会报错,只 阅读全文

posted @ 2021-01-10 14:09 メSerendipity 阅读(186) 评论(0) 推荐(0) 编辑

导航