问题1:什么是数据
存储于内存中代表某种信息,本质就是0101二进制,具有可读性和可传递的基本特性,一切皆数据,函数也是数据,程序中所有操作的目标都是数据
补充:关于形参/实参的问题
形参的本质:局部变量
实参的本质:变量值(变量内存中存储的数据)
问题2:什么是内存
内存条通电后产生的存储空间(临时的)
产生和死亡:内存条→通电→产生一定容量的存储空间→存储各种数据→断电→内存全部消失
常见的分配内存的语句:
var a(变量)
new 对象。。。。
注:声明一个变量a: 若a为局部变量,则在函数执行完毕时,a会自动释放
若a为一个对象,a不会自动释放,需要先成为垃圾对象:即a=null,由垃圾回收器收集后再释放
若a为一个全局变量,a不会因为a=null或者a=undefined而释放
内存的剖析:
一块内存包含两个数据:
1.内部存储数据(一般数据/地址数据)
2.内部地址数据(指的是这块内存的自身地址数据)
注:当此内存作为对象内存,将对象赋值给某个变量时,会将该对象的地址值赋值给该变量
内存的分类:
栈(较小):用于存储全局变量或者局部变量
堆(较大):用于存储任意对象
问题3:什么是变量
值是可以变化的量,由变量名和变量值组成
一个变量对应一小块内存,变量名用来找到该内存,变量值就是内存中所保存的内容
例如:
console.log(a)
//步骤一:根据a的名称找到对应的内存(a为标识)
//步骤二:打印a中内存保存的数据
问题4:内存,变量,数据三者之间的关系
内存是一个容器,用来存储程序运行过程中所要操作的数据
变量是一个标识,通过变量找到对应的内存进而操作(读/写)内存中的数据
注意:b = a 永远都是将a的值赋值给b,而这个值可能为基本类型的值或者地址值
作者留言:本文章主要用于交流学习,若有内容错误或补充欢迎各位留言或者私信,我会本着积极学习的态度认真考虑补充各位的意见。
原创文章,侵权必究
From:指尖旋律QAQ