如何判断javascritp变量的类型?

在javascript变量的类型可以是以下这些:

  • 函数
  • 对象
  • 数组
  • 字符串
  • 数字
  • null

那么如何判断一个变量是什么类型呢?
我们可以用typeof来得到变量的类型,例如:



//函数
var myFunction = function(){
  console.log('hello');
};
//对象
var myObject = {
  foo:'bar'
};

// 数组
var myArray = ['a','b','c'];

// 字符串
var myString = 'hello';

// 数字
var myNumber = 3;

console.log(typeof myFunction); // 输出function
console.log(typeof myObject); // 输出object
console.log(typeof myArray); // 输出object --careful!
console.log(typeof myString); // 输出string
console.log(typeof myNumber); // 输出number

console.log(typeof null); // 输出object --carefull!

注意到数组和null被判断成对象类型。

那么怎么判断一个typeof判断成对象的变量,是不是数组呢?

可以用下面的方法:

if(myArray.push && myArray.slice && myArray.join)
{
  //基本可以判断是数组
  console.log('可能是数组');
}

if(Object.prototype.toString.call(myArray) === '[object Array]')
{
  console.log('一定是数组!');
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,446评论 0 4
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,896评论 18 399
  • 前端07班 王语句JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是...
    ea203453e188阅读 4,400评论 0 4
  • 最近又把《古佃任三郎》这部老片翻出来看,许多故事情节都已经知道,这对于一部推理剧来说似乎失去了很多吸引力。但...
    女博士阅读 5,385评论 1 5
  • 柳宗元《柳州二月榕叶落尽偶题》原诗、注释、翻译、赏析 【原文】:柳州二月榕叶落尽偶题柳宗元宦情羁思共凄凄,春半如秋...
    xcy无名阅读 3,034评论 0 0