发表于: 2017-02-21 01:02:22
0 1184
今天完成的事情:
看了红宝书,内存空间、执行上下文、变量对象
明天计划的事情:
继续看闭包,作用域链,开始海川项目
遇到的问题:
闭包几个例子还是不理解,还需要好好看看作用域链
收获:
内存空间管理:js具有自动垃圾收回机制,所以我们在开发时不用关心内存的使用问题,内存的分配与回收都完全实现了自动管理。
js内存生命周期:1、分配你所需要的内存 2、使用分配到的内存(读、写)3、不需要时将其释放归还
在局部作用域中,当函数执行完毕,局部变量也就没有存在的必要了,因此垃圾收集器很容易作出判断并回收。但是全局变量什么时候需要自动释放内存空间则很难判断,因此在我们的开发中,需要尽量避免使用全局变量,确保性能问题。
变量对象与基础数据类型:
js执行上下文生成后,会创建一个叫做变量对象的特殊对象。js的基础数据类型往往都保存在变量对象中。
基础数据类型:undefine、null、string、number、 boolean,基础数据类型都是按值访问,因为我们可以直接操作保存在变量中实际的值。
引用类型的复制同样也会为新的变量自动分配一个新的值保存在变量对象中,但不同的是,这个新的值,仅仅只是引用类型的一个地址指针。
执行上下文( Execution Context):每次当控制器转到可执行的代码的时候,就会进入一个执行上下文。执行上下文可理解为当前代码的执行环境,它会形成一个作用域。
执行上下文的一些总结:
评论