@H_403_0@js中一共5个原始值,6个typeof能判断的,9个原生的内置的构造函数。
@H_4030@ 这569,构成了js语言的基础。
@H4030@ 5个原始值是:数字,字符,布尔,null,undefined
@H403_0@ typeof能判断:数字,字符,布尔,object,function,undefined。 注意null和数组,tyopeof都输出object。
@H_4030@ typeof不能区分出数组和对象,如何判断类型呢?使用Object.prototype.toString.apply()。
@H4030@ if(value&&typeof value ==='object'&&value.constructor === Array)
@H4030@ 上面的检测如果在不同帧和窗口创建的数组,会给出false,window对象不一样了.
@H403_0@ 可靠的方法是if(Object.prototype.toString.apply(value)==="[object Array]")
@H_403_0@ arguments 数组不是一个数组,他只是一个有着length成员属性的对象。
如下面例子所示 arguments不是普通的array
@H_403_0@<div class="codetitle"><a style="CURSOR: pointer" data="59130" class="copybut" id="copybut59130" onclick="doCopy('code59130')"> 代码如下: