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

 前言

 
本篇是基础知识普及篇,js判断数据类型等。我们都知道,php中有is_array()函数,但是js中没有,我们判断数据类型是否是数组的时候,通常保险起见,可以写个函数进行判断。今天呢,普及一些基本的数据类型判断方法,希望对大家有所帮助。
 
typeof篇
 
typeof用的比较多的时候,是判断某个全局变量在不在,假如某个页面定义了一个全局变量。假如你做如下判断:
 
//haorooms是全局变量
if(haorooms!=undefined){
}//js会报错,说"Uncaught ReferenceError: haorooms is not defined"
解决的方法是我们如下写:
 
 if(typeof haorooms!=undefined){
 }
用了typeof之后,就不会报错了!这是typeof的应用之一!
 
此外,typeof还可以进行数据类型的判断!如下:
 
var haorooms="string"; console.log(haorooms); //string
var haorooms=1; console.log(haorooms); //number
var haorooms=false; console.log(haorooms); //boolean
var haorooms; console.log(typeof haorooms); //undfined
 
var haorooms= null; console.log(typeof haorooms); //object
var haorooms = document; console.log(typeof haorooms); //object
var haorooms = []; console.log(haorooms); //object
var haorooms = function(){}; console.log(typeof haorooms) //function   除了可以判断数据类型还可以判断function类型
很明显,对于typeof,除了前四个类型外,null、对象、数组返回的都是object类型;
 
instanceof 篇
 
可以用其判断是否是数组。
 
var haorooms=[];
console.log(haorooms 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 haorooms=new employee("Bill Gates","Engineer",1985); 
console.log(haorooms.constructor); //输出function employee(name, jobtitle, born){this.name = name; this.jobtitle = job; this.born = born;}
通过输出haorooms.constructor,可以看出constructor就是返回对象相对应的构造函数。

时间: 2024-09-04 00:13:56

js判断是否是数组及常见类型判断的相关文章

js检查对象是否是数组及常见类型判断的教程

前言 本篇是基础知识普及篇,js判断数据类型等.我们都知道,php中有is_array()函数,但是js中没有,我们判断数据类型是否是数组的时候,通常保险起见,可以写个函数进行判断.今天呢,普及一些基本的数据类型判断方法,希望对大家有所帮助. typeof篇 typeof用的比较多的时候,是判断某个全局变量在不在,假如某个页面定义了一个全局变量.假如你做如下判断: //haorooms是全局变量 if(haorooms!=undefined){ }//js会报错,说"Uncaught Refer

js判断数据类型如判断是否为数组是否为字符串等等

 js判断数据类型如判断是否为数组类型.判断是否为字符串类型.判断是否为数值类型等等,本文有几个不错的示例,大家可以学习下 1 判断是否为数组类型  2 判断是否为字符串类型  3 判断是否为数值类型  4 判断是否为日期类型  5 判断是否为函数  6 判断是否为对象    1 判断是否为数组类型   代码如下: <script type="text/javascript">  //<![CDATA[  var a=[0];  document.write(isAr

Javascript如何判断数据类型和数组类型_javascript技巧

这么基础的东西实在不应该再记录了,不过嘛,温故知新~就先从数据类型开始吧 js六大数据类型:number.string.object.Boolean.null.undefined string: 由单引号或双引号来说明,如"string" number:什么整数啊浮点数啊都叫数字,你懂的~ Boolean: 就是true和false啦 undefined:未定义,就是你创建一个变量后却没给它赋值~ null: 故名思久,null就是没有,什么也不表示 object: 这个我也很难解释的

js常见的判断移动端或者pc端或者安卓和苹果浏览器的方法总结

 很久之前写了一篇通过浏览器navigator判断浏览器版本或者手机类型,里面介绍了运用navigator判断浏览器类型.今天在这篇文章基础上做个补充吧!   js 判断安卓或者ios 之indexOf方式   //判断访问终端 var browser={     versions:function(){         var u = navigator.userAgent, app = navigator.appVersion;         return {             tr

JS数组的常见用法实例_javascript技巧

本文实例讲述了JS数组的常见用法.分享给大家供大家参考.具体方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml">

js判断当前浏览器类型,判断IE浏览器方法_javascript技巧

最短IE判断方法,原文地址: http://www.jb51.net/article/23621.htm 判断IE浏览器最短方法:var isIE = !-[1,] 原理:[1,]在标准浏览器中返回"1",相当于调用[1,].toString(),在IE中返回"1,"在这个时候对返回值使用负号强制转换为数字时,标准浏览器返回1,IE则返回NaN,再对1和NaN取反时,标准浏览器返回false,IE返回true. js判断浏览器类型 原文基本上没有什么问题,但他的判断

TypeScript Type Innference(类型判断)_javascript技巧

TypeScript 是微软开发的 JavaScript 的超集,TypeScript兼容JavaScript,可以载入JavaScript代码然后运行.TypeScript与JavaScript相比进步的地方 包括:加入注释,让编译器理解所支持的对象和函数,编译器会移除注释,不会增加开销:增加一个完整的类结构,使之更新是传统的面向对象语言. 为什么会有 TypeScript? JavaScript 只是一个脚本语言,并非设计用于开发大型 Web 应用,JavaScript 没有提供类和模块的概

浅谈js中字符和数组一些基本算法题_javascript技巧

最近在刷 fcc的题,跟升级打怪一样,一关一关的过,还挺吸引我的.今天抽时间把 Basic Algorithm Scritping  这部分题做了,根据一些提示,还是比较简单的.有些题的处理方式 方法,我想值得借鉴.比如在项目中有时候要处理一个字符,如果想不到一些相关的方法,还挺费事的,所以,在此记录下来,如果以后遇到一些字符或者数组处理,可以来翻翻这篇文章,希望以此得到一些提示而不是去翻文档. 看到此博文的博友,有更好更简单的代码或者好的想法,请留言交流(我一直觉得只有学习别人的优秀代码才能进

js对ajax返回数组的处理介绍

 本篇文章主要是对js对ajax返回数组的处理进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 引言: ajax异步传输,可以传输字符串,但是数组这样的数据,就不太好传递了,这个时候怎么办呢?   答案是可以通过json来处理,后台将数据数据进行json编码!   然后客户端,通过js来进行解析.   这样问题就解决了!json是一种很好的数据格式!   我做的是异步判断某堂课是否处于上课状态,会从后台接口中获取数组数据!共四堂课,   代码如下:    代码如下: functio