20.数据类型内存分配
数据类型的内存分配在栈和队中。
1.简单数据类型
2.复杂数据类型
3.内存存放的案例
这个输出的结果是:刘德华,刘德华,张学友,张学友 理解重点:形参x也可以看做一个变量,所以他作为复杂数据类型,也要在栈里面开辟一个与实参相同的地址,因为地址相同,所以他们指向的堆里面的数据元素就相同,当函数内部修改形参的值的时候,实际上也真正影响到了堆里面的元素,所以当x.name=‘张学友’把堆里面的原本的x.name=‘刘德华’变成了张学友,当p在外部调用p.name时,输出的也会是张学友。
21.声明变量优先用const
const可以追加对象新的元素,因为const判断的是地址的值,如果是简单数据类型,直接赋值就是地址改变,而复杂数据类型可以在原基础上修改,如:数组可以添加元素,对象可以添加新的属性。所以地址不变就可以用const。
二.数组与字符串
1.检测是否为数组
2.添加与删除元素
push和unshift的返回值都是添加后的数组长度。 arr.splice在随机点名或者抽奖案例中很好用,arr.splice(random,1)就可以把已经抽奖过的对比。