关于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 相关文章推荐
JavaScript监测ActiveX控件是否已经安装过的代码
Sep 02 Javascript
js/jquery获取文本框输入焦点的方法
Mar 04 Javascript
浅谈document.write()输出样式
May 07 Javascript
图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
Dec 13 Javascript
JQuery validate插件验证用户注册信息
May 11 Javascript
javascript 数组的定义和数组的长度
Jun 07 Javascript
JavaScript如何实现图片懒加载(lazyload) 提高用户体验(增强版)
Nov 30 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
Mar 01 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
Apr 12 Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
Oct 30 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
Jul 29 Javascript
Vue函数式组件的应用实例详解
Aug 30 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 session_start()问题解疑(详细介绍)
2013/07/05 PHP
8个PHP数组面试题
2015/06/23 PHP
php微信公众号开发模式详解
2016/11/28 PHP
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
js定时器(执行一次、重复执行)
2014/03/07 Javascript
javascript setinterval 的正确语法如何书写
2014/06/17 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
2014/07/21 Javascript
修改jquery中dialog的title属性方法(推荐)
2016/08/26 Javascript
微信小程序  网络请求API详解
2016/10/25 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
js实现弹窗暗层效果
2017/01/16 Javascript
webpack入门+react环境配置
2017/02/08 Javascript
JS原型与原型链的深入理解
2017/02/15 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
基于jQuery中ajax的相关方法汇总(必看篇)
2017/11/08 jQuery
layui框架table 数据表格的方法级渲染详解
2018/08/19 Javascript
详解适配器在JavaScript中的体现
2018/09/28 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
2019/05/18 Javascript
详解Vue2的diff算法
2021/01/06 Vue.js
运动检测ViBe算法python实现代码
2018/01/09 Python
pandas DataFrame 删除重复的行的实现方法
2019/01/29 Python
python支持多线程的爬虫实例
2019/12/21 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
python pandas.DataFrame.loc函数使用详解
2020/03/26 Python
parser.add_argument中的action使用
2020/04/20 Python
python 基于UDP协议套接字通信的实现
2021/01/22 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
大四自我鉴定范文
2013/10/06 职场文书
《中国梦我的梦》大学生演讲稿
2014/08/20 职场文书
导航工程专业自荐信
2014/09/02 职场文书
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
订货会邀请函
2015/01/31 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
干货:企业内部人才推荐奖励方案!
2019/07/09 职场文书
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
2022/04/29 Servers