基本类型
指的是保存在栈内存中的简单数据段
数值,布尔值,null和undefined
引用类型
指的是那些保存在堆内存中的对象,变量中保存的实际上只是一个指针,这个指针执行内存中的另一个位置,由该位置保存对象
对象,数组,函数,正则
示例
var a;
var b;
var obj;
var obj2;
a = 1;
b = 2;
var obj = {
name: 'jane',
sex: 'female',
age: 27,
friend: {
name: 'haha',
age: 30
}
}
var newObj = {};
b = a;
console.log(b);
// 将a的值赋给b,结果为1
var obj2 = obj;
var obj3 = {name: 'haha'};
var obj4 = {name: 'haha'};
obj3 === obj4
// false obj3和obj4中保存的对象是指向对象在内存中位置的的指针,所以obj3和obj4不相等
function sum(){
console.log('sum...')
}
var sum2 = sum;
sum2()
// sum... 将sum的值赋给sum2
函数的参数传递
function inc(n){
n++;
}
// function inc(){
// var n = arguments[0];
// n++;
// }
var a = 10;
inc(a);
console.log(a);//10
function incObj(obj){
obj.n++;
}
// function incObj(){
// var obj = arguments[0];
// obj.n++;
// }
var o = {n: 10};
incObj(o);
console.log(o);//11