zoukankan      html  css  js  c++  java
  • 第78天python JavaScript 变量 作用域 及内存

    javascrip的变量与其他语言的变量有很大区别。JavaScript变量是松散型(不强制类型)本质,决定了它只是爱特定时间用于保存特定值的一个名字而已,由于不存在定义某个变量必须保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内改变

    1、变量:

    ECMAScript变量可以包含两种不同的数据类型的值,基本类型值和引用类型值

    基本类型值指的是那些保存在栈内存中的简单数据段,即这种值完全保存在内存中一个位置;

    引用类型值则是指那些保存在堆内存中的对象,意思就是变量中保存的实际上只是一个指针,这个指针指向内存中的另一个位置,该位置保存对象

    2、执行环境及作用域:

    执行环境是JavaScript中最为重要的一个概念,执行环境定义了变量或是函数有权访问的其他数据,决定了他们各自的行为。

    全局执行环境是最外围的执行环境,在web浏览器中,全局执行环境被认为是Windows对象,因此所有的全局变量和函数都是作为window对象的属性和方法创建的

    3、内存问题:

    JavaScript具有自动垃圾收集机制,也就是说,执行环境会负责管理代码执行过程中使用的内存,它会自动管理内存分配及无用内存的回收。不像C和C++,必须手工跟踪内存的使用情况

    JavaScript最常用的垃圾收集方式是 清楚。

    一般来讲,确保占用最少内存可以让页面获得更好的性能,那么优化内存的最佳方案就是一旦数据不再有用,那么将其设置为null来释放引用,这个做法叫做解除引用。这一做法适用于大多数全局变量和全局对象。

  • 相关阅读:
    Jmeter 调试接口用例怎么判断提取的上一个接口返回值是正确的?
    Jmeter 加密处理方法
    Apache Ignite 学习
    jmeter 中 浮点数计算精度问题
    httprunner 使用总结
    oh-my-zsh 安装及使用
    内置装饰器二:@property
    内置装饰器一:@classmethod、@staticmathod
    python实现列表的排序
    Mac git简易使用
  • 原文地址:https://www.cnblogs.com/jianchixuexu/p/12268406.html
Copyright © 2011-2022 走看看