前端
文章平均质量分 65
暮色宣然
这个作者很懒,什么都没留下…
展开
-
javascript引擎
最近在了解javascript引擎,在这里跟大家分享一下我学习到有关于javascript引擎的知识。首先javascript引擎是一种为解释和执行javascript代码设计的虚拟机,javascript引擎一般包含以下这几个部分。1、编译器,主要将源代码编译成抽象语法树,有些引擎还会将抽象语法树转换成字节码。2、解释器,主要解释执行字节码,依赖垃圾回收机制。3、JIT工具,将字节码或抽象语法树转换成本地代码。4、垃圾回收器和分析工具,负责垃圾回收和收集引擎中信息,改善引擎的性能。原创 2021-09-25 23:25:56 · 1510 阅读 · 1 评论 -
变量提升和函数提升
在javascript代码执行之前,会进行预编译时期,在预编译期间会进行变量提升与函数提升。什么是提升呢?对于javascript引擎来讲,无论作用域中的声明在什么地方出现,都会在该作用域中被首先进行处理,就是所有变量与函数声明都会被移动到作用域的最顶端,这个过程就叫作提升。为什么要进行提升?1、提高性能只需进行一次语法检查和预编译,就可以让每次执行函数时直接为函数中的变量分配栈空间,而不用每次都要扫描代码去获取声明了哪些变量与函数。(预编译过程会为函数生成预编译代码,会统计声明了哪些变原创 2021-09-13 00:34:51 · 448 阅读 · 0 评论 -
什么是词法作用域?
首先先来解释一下作用域就是作用的范围,比如定义一个普通函数,该函数就会有自己的作用域,并且在函数里面定义的变量,函数外面是使用不了函数里面定义的变量的,作用域决定了代码区块中的变量和其他资源的可见性。而作用域也分为静态作用域和动态作用域,词法作用域就是静态作用域,静态作用域在函数定义的时候就决定了,而动态作用域在函数调用时才决定。javascript采用的是词法作用域。下面我们来看看例子。function fun() { console.log(a)}function bar()原创 2021-09-12 01:55:22 · 1170 阅读 · 0 评论 -
原型链与继承
目录原型链继承Javascript为什么没有方法签名?原型链原型链是一种原型对象和实例对象的关系,通过属性__proto__进行联系。继承继承是一种允许我们在已有的类的基础上创建新类的机制,它可以使用父类的所有功能,而且可以在这些功能的基础上进行扩展。继承的方式有两种,一种是接口继承,继承方法签名(方法名称和参数类型组成),另一种是实现继承,继承实际方法,javascript没有方法签名,只能支持实现继承。Javascript为什么没有方法签名?首先javascrip原创 2021-09-02 00:23:55 · 700 阅读 · 0 评论 -
前端-原型与原型链
什么是原型?在javascript中,每一个函数都会有一个prototype属性,这个prototype指向对象就是原型对象。原创 2021-08-29 23:10:02 · 2030 阅读 · 0 评论