javascript基本类型详解
js中一共5个原始值,6个typeof能判断的,9个原生的内置的构造函数。
这569,构成了js语言的基础。
5个原始值是:数字,字符,布尔,null,undefined
typeof能判断:数字,字符,布尔,object,function,undefined。注意null和数组,tyopeof都输出object。
typeof不能区分出数组和对象,如何判断类型呢?使用Object.prototype.toString.apply()。
if(value&&typeofvalue==='object'&&value.constructor===Array)
上面的检测如果在不同帧和窗口创建的数组,会给出false,window对象不一样了.
可靠的方法是if(Object.prototype.toString.apply(value)==="[object Array]")
arguments数组不是一个数组,他只是一个有着length成员属性的对象。
如下面例子所示arguments不是普通的array
vara=function(){ varb=Object.prototype.toString.apply(arguments); console.log(b);
} a();//输出[objectArguments]