关于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 相关文章推荐
JS鼠标事件大全 推荐收藏
Nov 01 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
Nov 23 Javascript
基于js与flash实现的网站flv视频播放插件代码
Oct 14 Javascript
node.js中的fs.lstat方法使用说明
Dec 16 Javascript
微信小程序开发(一) 微信登录流程详解
Jan 11 Javascript
TableSort.js表格排序插件使用方法详解
Feb 10 Javascript
前端图片懒加载(lazyload)的实现方法(提高用户体验)
Aug 21 Javascript
Vue.js实现可配置的登录表单代码详解
Mar 29 Javascript
vue里面使用mui的弹出日期选择插件实例
Sep 16 Javascript
Vue 全家桶实现移动端酷狗音乐功能
Nov 16 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
Nov 29 Javascript
如何利用JavaScript编写一个格斗小游戏
Jan 06 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
基于mysql的bbs设计(五)
2006/10/09 PHP
php脚本运行时的超时机制详解
2016/02/17 PHP
PHP中TP5 上传文件的实例详解
2017/07/31 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
2011/08/28 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
js中日期的加减法
2015/05/06 Javascript
JavaScript基础重点(必看)
2016/07/09 Javascript
KnockoutJS 3.X API 第四章之click绑定
2016/10/10 Javascript
React-Native中props具体使用详解
2017/09/04 Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
2018/02/22 Javascript
11行JS代码制作二维码生成功能
2018/03/09 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
vuex(vue状态管理)的特殊应用案例分享
2020/03/03 Javascript
在vue中实现给每个页面顶部设置title
2020/07/29 Javascript
[05:31]DOTA2英雄梦之声_第08期_莉娜
2014/06/23 DOTA
[09:59]DOTA2-DPC中国联赛2月7日Recap集锦
2021/03/11 DOTA
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
python2与python3中关于对NaN类型数据的判断和转换方法
2018/10/30 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
python sorted函数的小练习及解答
2019/09/18 Python
Python 3.6打包成EXE可执行程序的实现
2019/10/18 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
新西兰珠宝品牌:Michael Hill
2017/09/16 全球购物
Lookfantastic台湾:英国彩妆美发保养购物网
2018/03/26 全球购物
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
小学红领巾中秋节广播稿
2014/01/13 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
门面房租房协议书
2014/12/01 职场文书
刑事附带民事起诉状
2015/05/19 职场文书
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android