基本类型变量有5种,Boolean String Number Undefined Null,对象则是Object.
-
存储区别 基本变量类型是以值存储,比如var a = "hello"; var b = 13;而对象是只有一个堆内存,里面存储数值和函数,不同的对象共同指向这个地址.
-
赋值区别 基本变量类型赋值是重新声明一个变量,两个变量只是值相等,操作互不影响. 而对象的赋值是把指针穿给另外一个变量,两个变量的实质是一样的,指向同一个内存地址,相互操作会互相影响
- 传参区别 function()中传参都是传值.参数会传递给函数中的局部变量,这个局部变量不会影响在函数之外的东西.参数是对象时,传的是引用值,函数内接受参数的局部变量改变时,那么堆内存中唯一的变量也会改变,所以参数对象也会改变.但是,函数的局部变量离开函数环境(也就是函数执行完毕)后,立即被销毁.
- 检测类型区别 基本变量类型用typeof 操作符来判断,用法举例: typeof 1213 ,对象用 instanceof 操作符,用法举例: person instanceof Object 是返回true 否返回false