- 博客(8)
- 收藏
- 关注
原创 初步认识了解闭包
换而言之,闭包让开发者可以从内部函数访问外部函数的作用域。在 JavaScript 中,闭包会随着函数的创建而被同时创建。但是这种情况存在一些不可控因素,上述实例中可以不通过add()改变count的值。bar可以访问到外部的person,这种情况就属于闭包。(closure)是一个函数以及其捆绑的周边环境状态(这样count只能通过add()函数来改变。为此我们可以使用闭包来解决这个问题。
2022-11-17 12:16:30
139
原创 js引擎内存管理
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-emKd6KJi-1668437205791)var obj = {name:“obj”, age:20} 会在堆中开辟一块空间给该对象,在栈中会引用它的地址。设置一个根对象,从根对象开始寻找被引用的对象,没有被引用的对象的内存被回收。js对复杂数据类型的内存分配在堆空间,并返回给栈一个堆内存的地址。下图中只有20对象没有被引用所以20对象被回收。下图中只有20对象没有被引用所以20对象被回收。被引用的对象的内存被回收。
2022-11-14 22:52:39
350
原创 js代码执行过程
V8解析(parse)上述代码会在堆里面产生GlobalObject(全局对象)V8解析(parse)上述代码会在堆里面产生GlobalObject(全局对象)GEC构建活动对象(AO, activation object)GEC构建FEC(函数执行上下文),这里age1=18。GlobalObject也是在GEC中构建的。),在GEC对变量进行赋值以及执行函数。给age赋值为18(此时VO->GO)执行函数foo(18))中构建全局上下文(这里foo是一个地址。
2022-11-13 11:36:23
195
原创 idea debug运行运行报错,run运行正常
问题如下:这是网友的遇到问题,当debug运行时报IllegalArgumentException(“Null KeyStore name”)
2022-11-12 10:57:04
1806
1
原创 V8引擎工作原理
V8引擎首先对源码进行Parse(解析)生成token,然后对token进行编码生产 AST(Abstract Syntax Tree)抽象语法树,然后AST通过ignition转化为字节码,然后对token进行编码生产 AST(Abstract Syntax Tree)抽象语法树,然后AST通过ignition转化为字节码。
2022-11-12 09:05:07
952
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人