关于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刷新站IP和PV
Sep 05 Javascript
jQuery学习笔记之DOM对象和jQuery对象
Dec 22 Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
Dec 02 Javascript
node.js中的console.time方法使用说明
Dec 09 Javascript
JavaScript实现解析INI文件内容的方法
Nov 17 Javascript
详解Python中logging日志模块在多进程环境下的使用
Dec 26 Javascript
JavaScript设计模式之策略模式详解
Jun 09 Javascript
详解webpack性能优化——DLL
Oct 20 Javascript
react实现一个优雅的图片占位模块组件详解
Oct 30 Javascript
vue 组件使用中的一些细节点
Apr 25 Javascript
JS/HTML5游戏常用算法之碰撞检测 地图格子算法实例详解
Dec 12 Javascript
玩转Koa之koa-router原理解析
Dec 29 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
将数组写入txt文件 var_export
2009/04/21 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
2014/12/04 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
CakePHP框架Session设置方法分析
2017/02/23 PHP
使用php自动备份数据库表的实现方法
2017/07/28 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
给页面渲染时间加速 干掉Dom Level 0 Event
2012/12/19 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
2014/08/12 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
2015/09/07 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
2016/05/10 Javascript
Vue 2.X的状态管理vuex记录详解
2017/03/23 Javascript
简单实现vue中的依赖收集与响应的方法
2019/02/18 Javascript
KnockoutJS数组比较算法实例详解
2019/11/25 Javascript
js实现内置计时器
2019/12/16 Javascript
vue实现登录功能
2020/12/31 Vue.js
python list 合并连接字符串的方法
2013/03/09 Python
Fabric 应用案例
2016/08/28 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
python Event事件、进程池与线程池、协程解析
2019/10/25 Python
python装饰器练习题及答案
2019/11/01 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
收集的22款给力的HTML5和CSS3帮助工具
2012/09/14 HTML / CSS
Schutz鞋官方网站:Schutz Shoes
2017/12/13 全球购物
美国领先的医疗警报服务:Philips Lifeline
2018/03/12 全球购物
英国设计的甲板鞋和船鞋:Chatham
2018/12/06 全球购物
初中地理教学反思
2014/01/11 职场文书
文明村创建实施方案
2014/03/27 职场文书
政府信息公开实施方案
2014/05/09 职场文书
研究生就业推荐表导师评语
2014/12/31 职场文书
2019年幼儿园管理条例范本!
2019/07/17 职场文书