时间对象、引用类型

1.基础类型有哪些?复杂类型有哪些?有什么特征?

基础类型有number,boolean,string,nul,undefinded这5种。
复杂类型有object(对象),其中对象中又有数组、函数等复杂类型。
复杂类型的特征:保存在内存中的对象们,不能直接操作,只能通过保存在变量中的地址引用对其进行操作。

2.如下代码的输出? 为什么?

var obj1 = {a:1, b:2};
var obj2 = {a:1, b:2};
console.log(obj1 == obj2);//false
console.log(obj1 = obj2);//Object {a:1,b:2}
console.log(obj1 == obj2);//true

结果:

时间对象、引用类型_第1张图片

分析:
这段代码定义了两个对象,obj1和obj2,这相当于在两个内存地址中放了相同的值,这两者本身并没有关系。 console.log(obj1==obj2)结果是 false
时间对象、引用类型_第2张图片

console.log(obj1=obj2)=前面的 obj1被忽略,输出 obj2的值: Object {a:1,b:2}。括号内的运算把obj2赋值给obj1。
经过赋值, obj1obj2变为:
时间对象、引用类型_第3张图片

实质上 obj1obj2有了一样的内存地址, console.log(obj1==obj2)输出 true

本文版权归本人和饥人谷所有,转载请注明出处

你可能感兴趣的:(时间对象、引用类型)