zoukankan      html  css  js  c++  java
  • JS变量、作用域和内存问题

    一、基本类型和引用类型

    1. 基本类型值指的是简单的数据段,引用类型值指那些可能由多个值组成的对象。

    2. 基本类型值按值访问,引用类型值按引用访问:

    按值访问对于基本类型而言,不同变量指向的地址空间都是不同的,即使把一个变量赋值给另一个变量,接收到时变量指向的内容而不是内存地址;
    按引用访问对于对象类型而言,不同的变量指向的地址空间可能是相同的,当一个变量赋值给另一个变量时,接收到的变量的地址,而不是内容;

    二、执行环境与作用域

    1. 执行环境定义了变量或函数有权访问的其他数据。

    2. 每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中。

    3. 各个执行环境之间可能是父子关系或者并列关系,子执行环境有权访问父执行环境,反之则不行,同级执行环境也无权互相访问。

    4. with语句可将其参数对象对应的执行环境的访问权限添加到当前一级环境中。

    5. 没有块级作用域,一个对象对应一个执行环境。

    三、垃圾收集

    1. JavaScript具有自动垃圾收集机制。通常由两个策略:标记清除(给当前不使用的值加上标记,然后再回收其内存)、引用计数(跟踪记录所有值被引用的次数)

    2. 通过将值设置为null来释放内存——解除引用

  • 相关阅读:
    10月6日动手动脑
    10月5日
    SQL
    bug 对应
    @OneToMany
    SQL Constraints
    SQL级联删除——删除主表同时删除从表——同时删除具有主外键关系的表
    子父表
    取字符串
    SQL中MAX()
  • 原文地址:https://www.cnblogs.com/wangxinwen/p/9519451.html
Copyright © 2011-2022 走看看