javascript变量类型
变量类型分类:(按typeof和instanceof返回值区分)
基本类型:
undefined,number,boolean,string,object,function
对象类型:
基本类型衍生发展而来,可通过instanceoof判断。
typeof Null
Null instanceof undefined
typeof []
typeof {}
Number与基础类型number是映射关系:
var a=new Number(123);
console.log(a.valueOf()===123);
var b=new String(123);
console.log(b.valueOf()===123);
console.log(b.valueOf()==='123');
obj.valueOf()返回的是该对象的原始值。
直接量和引用类型(执行速度:直接量>引用类型)
值类型(直接量):
‘’,1,Null,undefined
对象直接量:
{name:'zeng',age:27};
['1','2']
函数直接量://表达式不是语句
var b=function(a,b){return a+b};
function(a,b){return a+b;}()
(function(a,b){return a+b;})()
引用类型:
var c = [1,2,3];
var d = c;
d[0] = 4;
console.log(c);
例1:
var a = {"x": 1}
var b = a
console.log(b.x)
a = {"x":2}
console.log(b.x)
a[x] = 3
console.log(b.x)
a.x = 4
console.log(b.x)
(对象直接量/函数直接量)重新赋值产生新的作用域,值类型除外;
a.x==a{x}
a{x}!=a.x
a.x==a['x']