关于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 相关文章推荐
网页里控制图片大小的相关代码
Jun 13 Javascript
JavaScript加强之自定义event事件
Sep 21 Javascript
indexOf 和 lastIndexOf 使用示例介绍
Sep 02 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
Jun 23 Javascript
JavaScript实现动态添加,删除行的方法实例详解
Jul 02 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
Jun 17 Javascript
Node.js发送HTTP客户端请求并显示响应结果的方法示例
Apr 12 Javascript
AngularJS自定义指令详解(有分页插件代码)
Jun 12 Javascript
Angular4学习教程之DOM属性绑定详解
Jan 04 Javascript
jQuery动态移除与增加onclick属性的方法详解
Jun 07 jQuery
vue js秒转天数小时分钟秒的实例代码
Aug 08 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
Nov 12 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
Zend Framework连接Mysql数据库实例分析
2016/03/19 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
解决laravel 出现ajax请求419(unknown status)的问题
2019/09/03 PHP
js 与或运算符 || && 妙用
2009/12/09 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
JS中的prototype与面向对象的实例讲解
2013/05/22 Javascript
jquery实现点击label的同时触发文本框点击事件的方法
2015/06/05 Javascript
javascript使用递归算法求两个数字组合功能示例
2017/01/03 Javascript
微信小程序 网络请求(post请求,get请求)
2017/01/17 Javascript
js原生Ajax的封装和原理详解
2017/03/11 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
了解Javascript中函数作为对象的魅力
2019/06/19 Javascript
js设计模式之单例模式原理与用法详解
2019/08/15 Javascript
JS document form表单元素操作完整示例
2020/01/13 Javascript
[49:13]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第一局
2016/02/27 DOTA
Python深入学习之闭包
2014/08/31 Python
python处理csv数据的方法
2015/03/11 Python
Python常用库推荐
2016/12/04 Python
python 读写中文json的实例详解
2017/10/29 Python
pytorch 在sequential中使用view来reshape的例子
2019/08/20 Python
Virtualenv 搭建 Py项目运行环境的教程详解
2020/06/22 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
曼联官方网上商店:Manchester United Direct
2017/07/28 全球购物
香港百佳网上超级市场:PARKNSHOP.com
2020/06/10 全球购物
毕业生多媒体设计求职信
2013/10/12 职场文书
教师查摆问题及整改措施
2014/10/11 职场文书
店铺转让协议书
2015/01/29 职场文书
廉洁自律承诺书范文
2015/04/28 职场文书
中秋节主题班会
2015/08/14 职场文书
关于践行三严三实的心得体会
2016/01/05 职场文书
python如何进行基准测试
2021/04/26 Python
详解PHP设计模式之依赖注入模式
2021/05/25 PHP
Django操作cookie的实现
2021/05/26 Python
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技