值类型 引用类型 |
简单数据类型
特殊的null
复杂数据类型
系统把内存分成两大类 栈 堆
声明一个变量 age=18 栈开辟一个空间存着18,age指向这个空间
简单数据类型 是存放在栈里面 , 里面开辟一个空间存放的是值
var arr = [1,2,3]
数组存放到变量里面去 , 变量放到栈里, 首先栈开辟一个空间,变量arr指向这个空间,空间存放地址。 1,2,3存放到堆里面的,堆开辟一个空间,空间存放1,2,3的值 复杂数据类型 首先在 栈里面存放地址(十六进制) 然后地址指向堆里面的数据
总结: var age= 18 简单数据类型的变量存到栈里,栈开辟空间存放18, 变量指向空间。 var arr = [1,2,3] 复杂数据类型 arr存放到栈里,栈开辟空间存地址, 地址指向 堆的数据, 1,2,3存到堆里
---------------------------------------------------------------------------------------------------------- 简单数据类型传参 var num = 10; num = 20; console.log(num);
重新给num赋值20 , 按照值来存储,总结:值(数字)可以在空间里面直接改变 string字符串才需要开辟新空间
fn(x) 把x的值传给形参 a
函数的形参 也可以看作是一个变量 a 里面存的是10, a指向10的空间
a++后 a指向的空间存放的是11
console.log(a) 和 console.log(x) 存放的是不同的值
------------------------------------------------------------------------------------- 复杂数据类型传参
|