关于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插件开发 对话框插件开发
Apr 26 Javascript
JavaScript事件处理器中的event参数使用介绍
May 24 Javascript
javascript闭包概念简单解析(推荐)
Jun 03 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
Jul 04 Javascript
jQuery实现日期联动效果实例
Jul 26 Javascript
轮播图组件js代码
Aug 08 Javascript
浅析JavaScriptSerializer类的序列化与反序列化
Nov 22 Javascript
基于JavaScript实现类名的添加与移除
Apr 23 Javascript
JS和jQuery通过this获取html标签中的属性值(实例代码)
Sep 11 jQuery
详解webpack3编译兼容IE8的正确姿势
Dec 21 Javascript
npm 更改默认全局路径以及国内镜像的方法
May 16 Javascript
vue 数据操作相关总结
Dec 17 Vue.js
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
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
IIS+PHP+MySQL+Zend配置 (视频教程)
2006/12/13 PHP
php操作JSON格式数据的实现代码
2011/12/24 PHP
关于更改Zend Studio/Eclipse代码风格主题的介绍
2013/06/23 PHP
PHP模块memcached使用指南
2014/12/08 PHP
php提高网站效率的技巧
2015/09/29 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
PHP读取目录树的实现方法分析
2019/03/22 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
2020/05/01 PHP
PHP哈希表实现算法原理解析
2020/12/11 PHP
Google 静态地图API实现代码
2010/11/19 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
JSF中confirm弹出框的用法示例介绍
2014/01/07 Javascript
基于NodeJS的前后端分离的思考与实践(二)模版探索
2014/09/26 NodeJs
js实现有时间限制消失的图片方法
2015/02/27 Javascript
原生javascript实现读写CSS样式的方法详解
2017/02/20 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
2018/05/21 Javascript
微信jssdk逻辑在vue中的运用详解
2018/11/14 Javascript
Pytorch自己加载单通道图片用作数据集训练的实例
2020/01/18 Python
利物浦足球俱乐部官方商店(美国):Liverpool FC US
2019/10/09 全球购物
ECHT官方网站:男女健身服
2020/02/14 全球购物
某公司面试题
2012/03/05 面试题
大学本科毕业生的自我鉴定范文
2013/11/19 职场文书
日语专业毕业生求职信
2013/12/04 职场文书
秋游活动策划方案
2014/02/16 职场文书
《闻一多先生的说和做》教学反思
2014/04/28 职场文书
运动会班级口号
2014/06/09 职场文书
同学毕业留言寄语
2015/02/27 职场文书
师德承诺书2015
2015/04/28 职场文书
Python数据类型最全知识总结
2021/05/31 Python
Java对文件的读写操作方法
2022/04/29 Java/Android