js判断是否是数组及常见类型判断

前言

本篇是基础知识普及篇,js判断数据类型等。我们都知道,php中有is_array()函数,但是js中没有,我们判断数据类型是否是数组的时候,通常保险起见,可以写个函数进行判断。今天呢,普及一些基本的数据类型判断方法,希望对大家有所帮助。

typeof篇

typeof用的比较多的时候,是判断某个全局变量在不在,假如某个页面定义了一个全局变量。假如你做如下判断:

//炫H5是全局变量
if(炫H5!=undefined){
}//js会报错,说"Uncaught ReferenceError: 炫H5 is not defined"

解决的方法是我们如下写:

 if(typeof 炫H5!=undefined){
}

用了typeof之后,就不会报错了!这是typeof的应用之一!

此外,typeof还可以进行数据类型的判断!如下:

var 炫H5="string"; console.log(炫H5); //string
var 炫H5=1; console.log(炫H5); //number
var 炫H5=false; console.log(炫H5); //boolean
var 炫H5; console.log(typeof 炫H5); //undfined
var 炫H5= null; console.log(typeof 炫H5); //object
var 炫H5 = document; console.log(typeof 炫H5); //object
var 炫H5 = []; console.log(炫H5); //object
var 炫H5 = function(){}; console.log(typeof 炫H5) //function   除了可以判断数据类型还可以判断function类型

很明显,对于typeof,除了前四个类型外,null、对象、数组返回的都是object类型;

instanceof 篇

可以用其判断是否是数组。

var 炫H5=[];
console.log(炫H5 instanceof Array) //返回true 

constructor 篇

constructor就是返回对象相对应的构造函数。

判断各种数据类型的方法:

console.log([].constructor == Array);
console.log({}.constructor == Object);
console.log("string".constructor == String);
console.log((123).constructor == Number);
console.log(true.constructor == Boolean);
function employee(name,job,born){
this.name=name;
this.job=job;
this.born=born; }
var 炫H5=new employee("Bill Gates","Engineer",1985);
console.log(炫H5.constructor); //输出function employee(name, jobtitle, born){this.name = name; this.jobtitle = job; this.born = born;}

通过输出炫H5.constructor,可以看出constructor就是返回对象相对应的构造函数。

以上是js判断是否是数组及常见类型判断的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>