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


Posted in Javascript onAugust 14, 2015

  虽然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]') {
  // 肯定是一个数组!
  // 这是判断一个变量是否为数组的最可靠方法
}

 

Javascript 相关文章推荐
jquery动态添加删除div 具体实现
Jul 20 Javascript
jQuery的each终止或跳过示例代码
Dec 12 Javascript
javasctipt如何显示几分钟前、几天前等
Apr 30 Javascript
构造函数+原型模式构造js自定义对象(最通用)
May 12 Javascript
详谈javascript中的cookie
Jun 03 Javascript
javascript最基本的函数汇总
Jun 25 Javascript
实例详解jQuery表单验证插件validate
Jan 18 Javascript
javascript 显示全局变量与隐式全局变量的区别
Feb 09 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
Mar 21 Javascript
js实现移动端轮播图效果
Dec 09 Javascript
vue axios 表单提交上传图片的实例
Mar 16 Javascript
使用js和canvas实现时钟效果
Sep 08 Javascript
js实现表单检测及表单提示的方法
Aug 14 #Javascript
JavaScript中的this关键字使用详解
Aug 14 #Javascript
JS实现双击编辑可修改状态的方法
Aug 14 #Javascript
JavaScript变量的作用域全解析
Aug 14 #Javascript
DEDECMS如何为文章添加HOT NEW标志图片
Aug 14 #Javascript
JavaScript实现给按钮加上双重动作的方法
Aug 14 #Javascript
详解jQuery中的元素的属性和相关操作
Aug 14 #Javascript
You might like
PHP 和 MySQL 开发的 8 个技巧
2006/10/09 PHP
PHP中fwrite与file_put_contents性能测试代码
2013/08/02 PHP
php实现12306余票查询、价格查询示例
2014/04/17 PHP
php中print(),print_r(),echo()的区别详解
2014/12/01 PHP
Laravel 修改验证异常的响应格式实例代码详解
2020/05/25 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
2020/08/17 PHP
推荐11款jQuery开发的复选框和单选框美化插件
2011/08/02 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
2013/12/14 Javascript
JavaScript动态修改弹出窗口大小的方法
2015/04/06 Javascript
jQuery简单tab切换效果实现方法
2015/04/08 Javascript
javascript日期比较方法实例分析
2016/06/17 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
2016/10/29 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法
2017/07/09 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
2019/04/04 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
记录微信小程序 height: calc(xx - xx);无效问题
2019/12/30 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
JavaScript实现横版菜单栏
2020/03/17 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
pycharm-professional-2020.1下载与激活的教程
2020/09/21 Python
基于Python组装jmx并调用JMeter实现压力测试
2020/11/03 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
合同专员岗位职责
2013/12/18 职场文书
留学推荐信怎么写
2014/01/25 职场文书
写得不错的求职信范文
2014/07/11 职场文书
2014年世界艾滋病日演讲稿
2014/11/28 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
电影建国大业观后感
2015/06/01 职场文书
如何撰写创业策划书
2019/06/27 职场文书
小学四年级作文之人物作文
2019/11/06 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers
Python中tkinter的用户登录管理的实现
2021/04/22 Python