JavaScript红宝书第四章

基本类型和引用类型的值

动态的属性
  • 可以给引用类型添加属性,不能给基本类型添加
  • 复制变量值 – 基本类型完全复制,引用类型复制指针
  • 传入参数传入的是基本类型以及引用类型的指针
  • instanceOf用来检查属于那种对象,原理是根据原型链来搜寻的
执行环境以及作用域
  • 执行环境定义了变量以及函数有权访问其他数据,决定他们各自的行为
  • 每一个执行环境都有相应的变量对象,环境中定义的所有变量和函数都会保存再这个对象中
  • 全局执行环境根据ECMAScript的宿主环境不同而不同
  • 每一个函数都有自己的执行环境,当执行流进入一个函数时,函数的环境会被推进环境栈中,函数执行完以后栈把环境弹出,返回之前的环境
  • 当代码执行的过程中,会创建变量对象的作用域链,保证对执行环境有权访问的所有变量和函数进行有序访问
  • 延长作用域链
    • with
    • try-catch
  • 没有块级作用域
    • iffor语句不能形成块级作用域
    • 查询标识符的时候由下至上,导致多个标识符可能优先访问最下面的那个
垃圾回收
  • JavaScript存在自动垃圾回收机制
  • 垃圾回收器会在固定时间间隔执行一次
  • 标记清除
    • 运行的时候会给存储再内存中全部变量加上标记,然后删除环境变量以及环境中引用的变量的标记,在此之后删除被标记的变量
  • 性能问题
    • IE之前是完全根据内存分配量运行的,如今进行了优化,内存分配量的大小进行了可弹性的收缩
  • 管理内存
    • 浏览器被分配的内存较少,原因是安全考虑
    • 内存限制影响:
      • 给变量分配内存
      • 调用栈
      • 一个线程中同时执行语句的数量
    • 一旦数据不在有用,就把他指向null,与执行环境脱钩,方便垃圾回收器进行回收,叫做”解除引用“
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值