最近研究了建立Android虚拟机、vscode结合weex开发Android APP、Vmware装MAC虚拟机的事,看的内容不够多,接下来加油javascript
变量类型:前端
变量复制:java
传参(见示例):web
// 示例 function setName(obj) { // 指向person,添加属性name obj.name = "Nicholas"; // 指针指向新的内存空间 obj = new Object(); obj.name = "Greg"; // 函数执行完毕后,局部对象当即销毁 } var person = new Object(); setName(person); alert(person.name); //"Nicholas"
检测类型数组
执行环境:定义变量或函数有权访问的其余数据范围,决定行为。中有变量对象,保存环境中定义的全部变量和函数,环境销毁,变量、函数销毁浏览器
做用域链的前端,始终都是当前执行的代码所在环境的变量对象。若是这个环境是函数,则将其活动对象(activation
object)做为变量对象。活动对象在最开始时只包含一个变量,即arguments对象(这个对象在全局环境中是不存在的)。做用域链中的下一个变量对象来自包含(外部)环境,而再下一个变量对象则来自下一个包含环境。这样,一直延续到全局执行环境;全局执行环境的变量对象始终都是做用域链中的最后一个对象
内外关系:weex
在做用域链前端加临时变量对象,执行后移除函数
function aaa( ) { var qs = '?id=12'; // 引用location,with内部可用location的全部属性和方法 with(location) { // href为locaiton.href var url = href + qs; } // 在aaa( )内可拿到with( )内定义的url return url; }
{ } 封闭的代码块中定义的变量,执行后没有被销毁,依旧存在于{ }外部执行环境中性能
声明变量优化
查询标识符
执行环境管理着代码执行过程当中使用的内存
自动垃圾收集机制:实现所需内存分配、无用内存回收,自动管理。固定时间间隔,周期性检索再也不继续使用的变量,打标记,释放其占用的内存
回收策略
标记清除(主流)
引用计数(不常见)
特殊状况:
性能问题
// 手动触发方式 // IE window.CollectGarbage(); // Opear7~ window.opera.collect();
管理内存