在 javascript 中经常会用到 typeof 和 instanceof 来判断一个对象的类型,可能 typeof 用得多些,那来看看这两个之间的区别吧。
typeof :
typeof 是一个一元运算符,放在一个运算数之前,运算数可以是任意类型。它返回值是一个字符串,该字符串说明运算数的类型。
typeof 一般只能返回如下几个结果:number,boolean,string,function,object,undefined。
<script type="text/javascript">
var obj = 1;
function f(){}
alert(typeof obj); // number
alert(typeof obj === "number"); // true
alert(typeof obj === "string"); // false
alert(typeof f); // function
</script>
instanceof :
instanceof 用于判断一个变量是否某个对象的实例。
<script type="text/javascript">
var arr = new Array();
var date = new Date();
alert(arr instanceof Array); // true
alert(arr instanceof Date); // false
alert(date instanceof Date); //true
</script>
instanceof 判断一个变量是否为 jQuery 对象
<script type="text/javascript">
alert(jqobj instanceof jQuery); // 如果 jqobj 是一个 jQuery 对象,弹出 true, 否则 false
</script>