关于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 相关文章推荐
关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
Feb 11 Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
Nov 26 Javascript
浅谈addEventListener和attachEvent的区别
Jul 14 Javascript
javascript中的后退和刷新实现方法
Nov 10 Javascript
浅谈html转义及防止javascript注入攻击的方法
Dec 04 Javascript
微信小程序开发之map地图实现教程
Jun 08 Javascript
JS中跳出循环的示例代码
Sep 14 Javascript
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
Apr 21 Javascript
深入浅析Vue中的 computed 和 watch
Jun 06 Javascript
小程序图片剪裁加旋转的示例代码
Jul 10 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
May 24 Javascript
vue柱状进度条图像的完美实现方案
Aug 26 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自动加载的两种实现方法
2010/06/21 PHP
利用php + Laravel如何实现部署自动化详解
2017/10/11 PHP
javascript 打印页面代码
2009/03/24 Javascript
javascript与CSS复习(《精通javascript》)
2010/06/29 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
jquery选择器之基本过滤选择器详解
2014/01/27 Javascript
jquery常用特效方法使用示例
2014/04/25 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
Web表单提交之disabled问题js解决方法
2015/01/13 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
2016/07/27 Javascript
使用JS代码实现点击按钮下载文件
2016/11/12 Javascript
jQuery选择器实例应用
2017/01/05 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
详解JavaScript的变量
2019/04/04 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
JavaScript直接调用函数与call调用的区别实例分析
2020/05/22 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
Python实现二维数组输出为图片
2018/04/03 Python
python登录WeChat 实现自动回复实例详解
2019/05/28 Python
python的sorted用法详解
2019/06/25 Python
详解python播放音频的三种方法
2019/09/23 Python
Pytorch evaluation每次运行结果不同的解决
2020/01/02 Python
python 如何将office文件转换为PDF
2020/09/22 Python
Magee 1866官网:Donegal粗花呢外套和大衣专家
2019/11/01 全球购物
市场营销专业推荐信
2013/11/03 职场文书
工作的心得体会
2013/12/31 职场文书
幼儿园母亲节活动方案
2014/03/10 职场文书
入党个人总结范文
2015/03/02 职场文书
2015年学校后勤工作总结
2015/04/08 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
MySQL系列之二 多实例配置
2021/07/02 MySQL
《废话连篇——致新手》——chinapizza
2022/04/05 无线电