所有类型的返回对象

在Javascript中,所有数据类型都是严格意义上的对象,但实际使用中仍然有类型。如果我们要判断一个变量是数组或对象,我们不能用的,因为它返回对象。

复制代码代码如下所示:

var o = { 'name':'lee};

var a = { 'reg ','蓝色' };



document.write(O型是+型O);

document.write('');

document.write(一类是+种类);



实施:

复制代码代码如下所示:

O型为对象

一类是对象



因此,我们只能放弃这种方法,判断有两种方式可以是数组或对象。

首先,使用类型和长度的属性

数组的长度属性,对象不,和类型的数组和对象的所有返回的对象,所以我们可以判断这

复制代码代码如下所示:

var o = { 'name':'lee};

var a = { 'reg ','蓝色' };



无功getdatatype =功能(o){

如果(typeof O = = 'object){

如果(typeof o.length = =数){

return'array;

其他{ }

return'object;

}

其他{ }

return'param没有对象类型;

}

};



警报(getdatatype(O)); / /对象

Alert (getDataType (a)); / / Array

警报(getdatatype(1)); / /参数是没有对象类型

警报(getdatatype(真正的)); / /参数是没有对象类型

警报(getdatatype(a)); / /参数是没有对象类型



其次,使用实例

是可以用来判断变量是否为数组,如:

复制代码代码如下所示:

var o = { 'name':'lee};

var a = { 'reg ','蓝色' };



警报(一个是数组); / /真的

警报(O是数组); / /假



也可以判断它是否属于对象。

复制代码代码如下所示:

var o = { 'name':'lee};

var a = { 'reg ','蓝色' };



警报(一个实例对象); / /真的

警报(O实例对象); / /真的



但是数组也属于对象,所以上面的两个都是真的。因此,我们需要使用instanceof来决定数据类型对象或数组,我们应该优先考虑阵列和最后判断对象。

复制代码代码如下所示:

var o = { 'name':'lee};

var a = { 'reg ','蓝色' };



无功getdatatype =功能(o){

如果(O是数组){

return'array

} else if(O实例对象){

return'object;

其他{ }

return'param没有对象类型;

}

};



警报(getdatatype(O)); / /对象

警报(getdatatype(一)); / /阵列

警报(getdatatype(1)); / /参数是没有对象类型

警报(getdatatype(真正的)); / /参数是没有对象类型

警报(getdatatype(a)); / /参数是没有对象类型



如果不优先考虑数组,例如:

复制代码代码如下所示:

var o = { 'name':'lee};

var a = { 'reg ','蓝色' };



无功getdatatype =功能(o){

如果(O实例对象){

return'object

} else if(O是数组){

return'array;

其他{ }

return'param没有对象类型;

}

};



警报(getdatatype(O)); / /对象

警报(getdatatype(一)); / /对象

警报(getdatatype(1)); / /参数是没有对象类型

警报(getdatatype(真正的)); / /参数是没有对象类型

警报(getdatatype(a)); / /参数是没有对象类型



然后,数组也将被判断为对象。