typeof
主要用来判断数据类型
- 一元运算符
- 返回值:字符串("number", "string", "boolean", "undefined", "object")
- 局限性:对于Array、Null等特殊对象,一律返回object
var num = 1;
var str = "str";
var bool = true;
var unde;
var obj = {name: "qq"};
var arr = [1, 2, 3];
console.log("-------------typeof-------------------------");
console.log("num is " + typeof num);//number
console.log("str is " + typeof str);//string
console.log("bool is " + typeof bool);//boolean
console.log("unde is " + typeof unde);//undefined
console.log("obj is " + typeof obj);//object
console.log("arr is " + typeof arr);//object
instanceof
判断一个变量是否是实例对象
console.log("--------------instanceof------------------------");
console.log( num instanceof Number);//false
console.log( str instanceof String);//false
console.log( bool instanceof Boolean);//false
// console.log( unde instanceof undefined);//不行
console.log( obj instanceof Object);//true
console.log( arr instanceof Array);//true
console.log( arr instanceof Object);//true
将基本数据类型实例化后
var n = new Number(1);
var s = new String("str");
var b = new Boolean(true);
console.log( n instanceof Number);//true
console.log( s instanceof String);//true
console.log( b instanceof Boolean);//true
对于window对象
console.log(typeof window);//object
console.log(window instanceof Object);//true IE8及以下浏览器是false
console.log(window instanceof Window);//true