Products
GG网络技术分享 2025-03-18 16:13 13
本篇是基础知识普及篇,js判断数据类型等。我们都知道,php中有is_array()函数,但是js中没有,我们判断数据类型是否是数组的时候,通常保险起见,可以写个函数进行判断。今天呢,普及一些基本的数据类型判断方法,希望对大家有所帮助。
typeof篇
typeof用的比较多的时候,是判断某个全局变量在不在,假如某个页面定义了一个全局变量。假如你做如下判断:
//jack 是全局变量
if(jack!=undefined){
}//js会报错,说\"Uncaught ReferenceError: jack is not defined\"
解决的方法是我们如下写:
if(typeof jack!=undefined){
}
用了typeof之后,就不会报错了!这是typeof的应用之一!
此外,typeof还可以进行数据类型的判断!如下:
var jack=\"string\"; console.log(jack); //string
var jack=1; console.log(jack); //number
var jack=false; console.log(jack); //boolean
var jack; console.log(typeof jack); //undfined
var jack= null; console.log(typeof jack); //object
var jack= document; console.log(typeof jack); //object
var jack= []; console.log(jack); //object
var jack= function(){}; console.log(typeof jack) //function 除了可以判断数据类型还可以判断function类型
很明显,对于typeof,除了前四个类型外,null、对象、数组返回的都是object类型;
instanceof 篇
可以用其判断是否是数组。
var jack=[];
console.log(jack 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 jack=new employee(\"Bill Gates\",\"Engineer\",1985);
console.log(jack.constructor); //输出function employee(name, jobtitle, born){this.name = name; this.jobtitle = job; this.born = born;}
通过输出jack.constructor,可以看出constructor就是返回对象相对应的构造函数。
文章地址:peixun.qietu.com
文/丁向明
做一个有博客的web前端自媒体人,专注web前端开发,关注用户体验,加我qq/微信交流:6135833
http://dingxiangming.com
如何判断JavaScript中一个数据是数组中的第几个元素?以下代码可以帮助大家。
<script>
vararr=newArray();
arr[0]=\"baidu\";
arr[1]=\"163\";
arr[2]=\"www.aspbc.com\";
arr[3]=\"google.com\";
varj=arr.findIndex(i=>i==\'www.aspbc.com\');
alert(\"www.aspbc.com是所在数组arr中第\"+j+\"]个元素\");
</script>
把这段代码保存为.html文件,双击就可以看到效果了。
Demand feedback