关于JavaScript的变量的数据类型的判断方法
虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number、String、Boolean、Object、Udefined、Null。其中,Object属于复杂数据类型,Object 由无序的键值对组成。其余几种都属于简单数据类型。注意:变量类型首字母大写,而变量值首字母是小写的。
JavaScript不支持自定义类型,所以JavaScript中的所有值都属于这六种类型之一。
要搞清楚一个变量是何种数据类型,就要使用typeof操作符了,注意,尤其要注意的是,typeof是操作符,不是方法,因此,typeof中的字母'o'是小写的。
语法:typeoftemp; //temp是一个变量,这里可以不加括号,但是为了程序的可读性,最好还是加上括号。
JavaScript本身可以用它typeof来检测变量的类型,但是有些结果却让人疑惑,例如,数组的类型居然是"Object"。
下面是用typeof对各种数据类型的判断结果
varmyFunction=function(){
console.log('hello');
};
varmyObject={
foo:'bar'
};
varmyArray=['a','b','c'];
varmyString='hello';
varmyNumber=3;
typeofmyFunction;//返回'function'
typeofmyObject;//返回'object'
typeofmyArray;//返回'object'--小心哦!
typeofmyString;//返回'string';
typeofmyNumber;//返回'number'
typeofnull;//返回'object'--小心哦!
if(myArray.push&&myArray.slice&&myArray.join){
//很可能是一个数组
//当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。
}
if(Object.prototype.toString.call(myArray)==='[objectArray]'){
//肯定是一个数组!
//这是判断一个变量是否为数组的最可靠方法
}