通过type of 变量名的方式获取变量的数据类型。
因为js变量是松散类型(即弱类型)的,可以用来保存任何类型的数据,所以用typeof 用来检测给定变量的数据类型,可能的返回值有:
1. 'undefined' --- 这个值未定义;
2. 'boolean' --- 这个值是布尔值;
3. 'string' --- 这个值是字符串;
4. 'number' --- 这个值是数值;
5. 'object' --- 这个值是对象或null;
6. 'function' --- 这个值是函数。
举例:
var aa = 'test string'alert(typeof aa) // 'string'
alert(typeof 90) // 'number'
检测简单的数据类型的方法
typeof方法用于检测简单的数据类型如typeof 12
instanceof的实例方法检测如[] instanceof Array // true
arr.constructor == Array判断arr的构造函数是否为数组,如果是则arr是数组
Array.isArray([])判断是否是数组
精确判断数据类型Object.prototype.toString.call(arr)
JS只有Number而没有Float,数字全是Number<script>
function isNumeric(v)
{
return (v &&v.constructor == Number)
}
function isDate(v)
{
return (v &&v.constructor == Date)
}
alert(isNumeric(0.333))
alert(isDate(new Date()))
</script>
或者用typeof也可以。 但注意typeof的时候,只要是复杂类型,如Array, Date全都会返回"object"