简单数据类型 null 返回的是一个空对象 object
简单数据类型又叫基本数据类型或者值类型,复杂数据类型又叫做引用类型
值类型:简单数据类型/基本数据类型,在存储时变量中存储的是值本身,因此叫做值类型
var stimer = null;
console.log(typeof stimer); // object
比如包括:string number boolean undefined null
如果有个变量我们以后打算存储对象 暂时还没有想好放什么 这个时候就可以给null
引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用类型
通过 new 关键字创建的对象(系统对象 自定义对象)如 Object Array Dtae等
简单数据类型存放在栈里面 里面直接开辟一个空间存放的是值
复杂数据类型首先在栈里面存放地址 十六进制表示 然后这个地址指向堆里面的数据
简单数据类型传参
function fn(a) {
a++;
console.log(a); //10
}
var x = 10;
fn(x);
console.log(x); // 11
复杂数据类型传参
function Person(name) {
this.name = name;
}
function f1(x) { //x=p
console.log(x.name); // 这个输出的是什么? 刘德华
x.name = '张学友';
console.log(x.name); // 这个输出的是什么?张学友
}
var p = new Person('刘德华');
console.log(p.name); // 这个输出的是什么? 刘德华
f1(p);
console.log(p.name); // 这个输出的是什么?张学友