1.判断是否是undefined
var a = undefined;
console.log(typeof(a))//undefined
if (typeof(a) === "undefined") {
console.log("undefined");
}
var exp = undefined;
if (exp === undefined)
{
console.log("undefined");
}
2.判断是否是null
var a = null;
if (a === null)
{
console.log('null');
}
3.判断是否是布尔类型
console.log(typeof (true))//boolean
4.判断是否是字符串
var str1 = "abc";
console.log(typeof str1)//string
var str2 = new String("abc");
console.log(str2 instanceof String)//true
5.判断是否是数组
var arr = [1,2,3,4,5,6];
var arr1 = new Array();
console.log(Array.isArray(arr))//true
console.log(arr instanceof Array)//true
console.log(Array.isArray(arr1))//true
console.log(arr1 instanceof Array)//true
console.log(Object.prototype.toString.call(arr1) ==='[object Array]')//true
console.log(Object.prototype.toString.call(arr) ==='[object Array]')//true
console.log(arr.constructor===Array)//trueconsole.log(arr1.constructor===Array)//true
6.是否是Number类型
var a=1;
console.log(isNaN(a))//是number类型,返回false
console.log(typeof a)//number
console.log(a.constructor===Number);//true
console.log(Object.prototype.toString.call(a)==="[object Number]")//true
7.是否是Symbol类型
var sym = Symbol();
console.log(typeof sym)//symbol
console.log(sym.constructor)//Symbol() { [native code] }
console.log(Object.prototype.toString.call(sym)==="[object Symbol]");//true
8.是否是Object类型
var obj = new Object();
console.log(typeof obj)//object
console.log(obj instanceof Object)//true
console.log(obj.constructor==Object)//true
console.log(Object.prototype.toString.call(obj)==="[object Object]")//true
9.是否是function类型
var f = function () { };
console.log(typeof f)//function
console.log(f.constructor===Function)//true
console.log(f instanceof Function)//true
console.log(Object.prototype.toString.call(f)==="[object Function]")//true
var fun = new Function();
console.log(typeof fun)//function
console.log(fun.constructor===Function)//true
console.log(fun instanceof Function)//true
console.log(Object.prototype.toString.call(fun)==="[object Function]")//true