zoukankan      html  css  js  c++  java
  • 数据-内存-变量

    今天小编主要是对数据,内存,变量这几个概念进行说明。内容是我最近所学到的,希望能跟大家分享下,若理解有误,还请各位指教一二。

    什么是数据

    • 存储在内存中代表特定的信息的东西,本质上是一串二进制组成的,如01110011....
    • 数据的特点是:可传递(var a=2;var b=a;)、可运算
    • 万物皆数据,函数也是数据
    • 内存中所有操作的目标:数据(如能进行算术、逻辑、赋值、运行函数)

    什么是内存

    • 内存条通电后产生的可储存数据的空间(临时的)
      注:内存空间是临时的,而硬盘空间是持久的
    • 内存产生和死亡:内存条(电路版型)=>通电=>产生内存空间=>储存数据=>断电=>内存和数据消失
    • 内存的分类
      (1)栈:全局变量/局部变量
      (2)堆:对象
    • 一块小内存的2个数据:地址值+内部储存的数据

    什么是变量

    • 可变化的量,有变量名和变量值组成(例 var a=1)
    • 每个变量都对应一块小内存,变量名用来查找对应的内存,变量的值就是内存中保存的数据

    变量,数据,内存三者的关系

    1. 内存是用来存储数据的空间
    2. 变量是内存的标识

    问题:var a=xxx,a内存中保存的是什么??

    (1)当xxx是基本的数据,保存的就是这个数据

    (2) 当xxx是对象,保存的是这个对象的地址值

    关于引用变量赋值的问题

    (1) n个引用变量指向同一个对象,其中一个变量修改对象的内容,其他变量看到的是改变后的数据

    (2)2个n个引用变量指向同一个对象,让其中一个变量指向另外一个对象,另外一个引用变量依旧指向前一个对象

    js调用函数是传递变量的参数时,是值传递还是引用传递??

    理解1:都是值传递(基本数据/地址值)传递
    理解2:可能是值传递,也可能是引用传递

    Js引擎如何管理内存

    1)内存生命周期

    • 分配小内存,得到它的使用权
    • 存储数据,可以反复进行操作
    • 释放小内存空间

    2)释放内存

    • 局部变量:函数执行完立即释放
    • 对象:成为垃圾对象=>垃圾回收器回收
  • 相关阅读:
    移动前端webApp开发点滴积累20140524
    做业务系统与公众产品的区别
    浅谈浏览器兼容性问题-(4)工具及调试
    浅谈浏览器兼容性问题-(3)他山之石整理
    浅谈浏览器兼容性问题-(2)本人解决方案理解与积累
    使用Using的注意事项
    [转]VMPlayer的Briged网络配置
    [转]移动互联网应用技术架构简介-Restful服务
    理解WCF中的Contracts
    [翻译]在ASP.NET Web API中通过OData支持查询和分页
  • 原文地址:https://www.cnblogs.com/Jeanchjy/p/13378457.html
Copyright © 2011-2022 走看看