关于JavaScript的变量的数据类型的判断方法

虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number、String、Boolean、Object、Udefined、Null。其中,Object属于复杂数据类型,Object   由无序的键值对组成。其余几种都属于简单数据类型。注意:变量类型首字母大写,而变量值首字母是小写的。
  JavaScript不支持自定义类型,所以JavaScript中的所有值都属于这六种类型之一。
  要搞清楚一个变量是何种数据类型,就要使用typeof操作符了,注意,尤其要注意的是,typeof是操作符,不是方法,因此,typeof中的字母'o'是小写的。
  语法:typeof temp;  //temp是一个变量,这里可以不加括号,但是为了程序的可读性,最好还是加上括号。

JavaScript 本身可以用它typeof来检测变量的类型,但是有些结果却让人疑惑,例如,数组的类型居然是"Object"。

下面是用typeof对各种数据类型的判断结果

var myFunction = function() {
  console.log('hello');
};

var myObject = {
  foo : 'bar'
};

var myArray = [ 'a', 'b', 'c' ];

var myString = 'hello';

var myNumber = 3;

typeof myFunction;  // 返回 'function'
typeof myObject;   // 返回 'object'
typeof myArray;   // 返回 'object' -- 小心哦!
typeof myString;   // 返回 'string';
typeof myNumber;   // 返回 'number'

typeof null;     // 返回 'object' -- 小心哦!

if (myArray.push && myArray.slice && myArray.join) {
  // 很可能是一个数组
  // 当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。
}

if (Object.prototype.toString.call(myArray) === '[object Array]') {
  // 肯定是一个数组!
  // 这是判断一个变量是否为数组的最可靠方法
}
(0)

相关推荐

  • js 判断数据类型的几种方法

    判断js中的数据类型有一下几种方法:typeof.instanceof. constructor. prototype. $.type()/jquery.type(),接下来主要比较一下这几种方法的异同. 先举几个例子: var a = "iamstring."; var b = 222; var c= [1,2,3]; var d = new Date(); var e = function(){alert(111);}; var f = function(){this.name=&

  • Javascript如何判断数据类型和数组类型

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

  • javascript 简单高效判断数据类型 系列函数 By shawl.qiu

    说明:  前段时间把 ASP VBScript 掌握得差不多的时候, 就转而学习 Javascript/Jscript, 主要是学 Jscript 啦.  不过这两者基本上没什么区别, 唯一不同的是 Jscript 没有客户端的概念. 在刚开始时, 发现 VBS 的一些实用函数 Js 好多都没有, formatNumber 呀 isArray 呀 isDate 呀 等等.  还有日期对象也是很奇怪, 不能直接加加减减, 要set***... 不过对 Javascript/Jscript 掌握到一

  • JavaScript中判断数据类型的方法总结

    typeof typeof用的比较多的时候,是判断某个全局变量在不在,假如某个页面定义了一个全局变量.假如你做如下判断: //haorooms是全局变量 if(haorooms!=undefined){ }//js会报错,说"Uncaught ReferenceError: haorooms is not defined" 解决的方法是我们如下写: if(typeof haorooms!=undefined){ } 用了typeof之后,就不会报错了!这是typeof的应用之一! 此外

  • js 判断各种数据类型的简单方法(推荐)

    了解js的都知道, 有个typeof  用来判断各种数据类型,有两种写法:typeof   xxx   ,typeof(xxx)  如下实例: typeof   2      输出   number typeof   null   输出   object typeof   {}    输出   object typeof    []    输出   object typeof   (function(){})   输出  function typeof    undefined  输出  und

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

    1 判断是否为数组类型 2 判断是否为字符串类型 3 判断是否为数值类型 4 判断是否为日期类型 5 判断是否为函数 6 判断是否为对象 1 判断是否为数组类型 复制代码 代码如下: <script type="text/javascript"> //<![CDATA[ var a=[0]; document.write(isArray(a),'<br/>'); function isArray(obj){ return (typeof obj=='obj

  • JavaScript知识点总结(六)之JavaScript判断变量数据类型

    最近做了一个项目,其中有关于js判断数据类型的处理,在网上搜了相关资料,并且亲自测试了各种数据类型的判断,绝对安全.下面小编把具体内容总结分享给大家,大家参考下! 一.JS中的数据类型 1.数值型(Number):包括整数.浮点数. 2.布尔型(Boolean) 3.字符串型(String) 4.对象(Object) 5.数组(Array) 6.空值(Null) 7.未定义(Undefined) 二.判断一个变量的数据类型 1.数值型(number) 比较常用的判断方法是: function i

  • 浅谈js数据类型判断与数组判断

    写在开篇: 昨天面试发现一个十分非常简单的问题竟然没有回答上来,可能也确实是因为太紧张了,感觉被自己蠢哭了.后来想想还是应该认真记录一下,这样才能印象深刻.革命尚未成功,壮实仍需努力! 1. js六大数据类型 number:数字,整数.浮点数等等, string:单引号或者双引号来说明, Boolean:返回true和false,这两个值不一定对应1和0 object:对象,可以执行new操作符后跟要创建的对象类型的名称来创建. null:只有一个值得数据类型,逻辑上讲,null值表示一个空对象

  • 判断javascript的数据类型(示例代码)

    1 判断是否为数组类型 复制代码 代码如下: <STRONG><script type="text/javascript"> //<![CDATA[ var a=[0]; document.write(isArray(a),'<br/>'); function isArray(obj){ return (typeof obj=='object')&&obj.constructor==Array; } //]]> </

  • 关于JavaScript的变量的数据类型的判断方法

    虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number.String.Boolean.Object.Udefined.Null.其中,Object属于复杂数据类型,Object   由无序的键值对组成.其余几种都属于简单数据类型.注意:变量类型首字母大写,而变量值首字母是小写的.   JavaScript不支持自定义类型,所以JavaScript中的所有值都属于这六种类型之一.   要搞清楚一个变量是何种数据类型,就要使用typeof操作符了,注意,尤其要注意

  • 详解JavaScript数据类型和判断方法

    前言 JavaScript 中目前有 7 种基本(原始primitives)数据类型 Undefined, Null,Boolean, Number, String,BigInt,Symbol,以及一种引用类型 Object,Object 中又包括 Function,Date,JSON,RegExp等,除了 7 种原始类型,其他的所有能够用 new 实例化的内置类型都是 Object 构造的. 数据类型 对于数据了类型我们可以通过 typeof 运算符来判断,具体结果看下图. 原始类型中两个比较

  • 详解JavaScript的变量和数据类型

    对于一门编程语言,肯定包含变量和数据类型.今天我们就来看看JavaScript脚本语言的变量和数据类型.相对 于其他的Java,C++等高级程序语言,JavaScript显得很简单. 一.变量        JavaScript的变量是松散类型的,所谓松散就是用来保存任何类型的数据.变量是存储信息的容器.定义变量时要使用var操作符(var是关键字),后面跟一个变量名(变量名是标识符).变量也就是初始化后可以再次改变的量. 那么我们来看看实例: <span style="font-size

  • 简单介绍JavaScript的变量和数据类型

    JavaScript数据类型: 编程语言的最根本的特征之一是一组它支持的数据类型.这些是可被表示和操纵的编程语言的值的类型. JavaScript允许有三个基本数据类型: 数字如. 123, 120.50 等. 字符串如 "This text string" 等. 布尔类型,如 true 或 false. 的JavaScript还定义了两种数据类型:null和undefined,其每一个仅限定一个单一的值. 除了这些基本的数据类型,JavaScript支持被称为对象的复合数据类型.我们

  • 一篇文章带你搞懂JavaScript的变量与数据类型

    目录 前言: 温馨提示: 变量 1.声明 2.赋值 3.二个语法小细节 变量的命名规范 为什么需要数据类型? 简单数据类型(基本数据类型) 数字型 字符串型 String 什么是数据类型的转换 1.转换为字符串 2.转换为数字型(重点) 转化为布尔型 总结 前言: 我不是搞前端,而是搞后端的.本命编程语言是java.学习js的嘛,因为看到室友能做出动态网页,而我只能做出静态网页,再加上下个学期要学所以提前来学习学习. 温馨提示: java和javsScript没有半毛钱关系,只是javaScri

  • JavaScript判断变量是否为数组的方法(Array)

    今天小编给大家整理些关于javascript判断变量是否是数组(Array)的相关知识,主要通过以下四点给大家展开话题,具体内容如下所示: 1. typeof真的那么厉害吗?? //首先看代码 var ary = [1,23,4]; console.log(typeof ary); //输出结果是Object 上面的办法并不能实时的检测出是否是数组,只能判断其类型,所以说typeof判断基本类型数据还是挺好的,但是不能准确测试出是否是数组(typeof的具体用法以后提及,现在回归正题) 2.in

  • javascript中对变量类型的判断方法

    在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null, Boolean, Number和String:复杂数据类型是Object,Object中还细分了很多具体的类型,比如:Array, Function, Date等等.今天我们就来探讨一下,使用什么方法判断一个出一个变量的类型. 在讲解各种方法之前,我们首先定义出几个测试变量,看看后面的方法究竟能把变量的类型解析成什么样子,以下几个变量差不多包含了我们在实际编码中常用的类型. var

  • 浅谈php中变量的数据类型判断函数

    在php中我们可以通过 var_dump()打印出变量的类型和值.同时我们可以通过一些函数判断变量的类型.如果只是想得到一个变量的数据类型,可以使用gettype()函数,gettype($t) 返回$t的数据类型的字符串,要是$t不属于php中8种基本变量类型,返回"unknow type".我们还可以通过is_type系类函数直接判断是否为type类型函数,是的话返回true ,不是返回false. 如: is_bool()        是否为布尔型 is_int()      

  • javascript判断变量是否有值的方法

    本文实例讲述了javascript判断变量是否有值的方法.分享给大家供大家参考.具体分析如下: 例如: var a = null; var b = undefined; 以上这两种情况算作没有值 if(a !== null && a !== undefined) { // } // 为什么不能单用if(a !== null) { // } var a; a !== null; // true // 为什么不能单用if(a !== undefined) { // } var a = null

  • JS中数据类型的正确判断方法实例

    目录 前言 typeof是否能正确判断类型? instanceof是否能正确判断类型? Object.prototype.toString.call() constructor Array.isArray() 正则判断 总结 前言 Javascript是一门动态类型的语言,一个变量从声明到最后使用,可能经过了很多个函数,而数据类型也会发生改变,那么,对一个变量的数据类型判断就显得尤为重要. typeof是否能正确判断类型? typeof 是一个操作符,其右侧跟一个一元表达式,并返回这个表达式的数

随机推荐