JS的基本语法
变量(variable)
变量声明
声明、赋值分解
单一var
命名规则
- 变量名必须以英文字母、_ 、$ 开头
- 变量名可以包括英文字母、_ 、$、数字
- 不可以使用系统的关键字、保留字作为变量名
声明、赋值分解 、 单一var
不可以使用系统的关键字、保留字作为变量名
值类型 – 数据类型
不可改变的原始值(栈数据)
Number、String、Boolean、undefined、null
引用值(堆数据)
array、object、function
那么你就会问了,啥是堆?啥是栈?
刚才我们定义的变量,其实电脑内部会在内存中,分出相应的空间来存储。
值类型是存在栈里的,存取速度都很快。
栈的特点
先进后出,类似羽毛球桶,先放进去的羽毛球,要想拿出来,必须先把后放进去的羽毛球拿出来。
引用类型的真实数据存在堆里。
堆的特点
堆就像一个仓库,随机存,直接取,没有像栈这么麻烦。
栈中只保存了引用地址,真实数据其实存在堆里,如果想要获取真实的数据,就要通过引用地址去堆里找。
不可改变的原始值 是啥意思呢?
其实栈里的数据,计算机是不会删除的,比如你
var a = 10;
a = 20;
那么就会变成这样
var a = 10;
a = 20;
也就是说,之前的 a = 10 的这个 10 ,还是保存着的,计算机不会删掉。
那怎么样才能删掉呢?
你只要不停的创建变量,不断的赋值,直到栈满了,没空间了,计算机才会用新值 覆盖旧值。