typeof检测数据类型
我们一般使用typeof检测数据类型(typeof X 与typeof(X)的作用是一样的,返回结果是检测到的数据类型)
返回的数据类型共有六种
- “number”:检测的值是数值;
- “boolean”:检测的值是布尔型的,true或false;
- “string”:检测的值是字符串;
- “object”:检测的值是对象,数组或null;
- “function”:检测的值是函数;
- “undefined”:检测的变量只进行了声明,但未赋值;
下面是几个检测数据类型的例子
检测结果为"object":
console.log(typeof null)//"object"
var arr=[1,2,3];
console.log(typeof arr)//"object"
var obj={"a":"1"};
console.log(typeof obj)//"object"
检测结果为“function”:
function getType(){
console.log("笑哈哈");
}
console.log(typeof getType);//"function"
console.log(typeof(getType));//"function"
- typeof操作符的操作数可以是变量,也可以是数值字面量。注意,typeof是一个操作符而不是函数,因此例子中的圆括号尽管可以使用,但不是必需的。
- 从技术角度讲,函数在ECMAScript中是对象,不是一种数据类型。然而,函数也确实有一些特殊的属性,因此通过typeof操作符来区分函数和其他对象是有必要的