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
结果:
分析:
这段代码定义了两个对象,obj1和obj2,这相当于在两个内存地址中放了相同的值,这两者本身并没有关系。
console.log(obj1==obj2)
结果是false
。console.log(obj1=obj2)
,=
前面的obj1
被忽略,输出obj2
的值:Object {a:1,b:2}
。括号内的运算把obj2赋值给obj1。经过赋值,
obj1
和obj2
变为:实质上
obj1
和obj2
有了一样的内存地址,console.log(obj1==obj2)
输出true
。
本文版权归本人和饥人谷所有,转载请注明出处
网友评论