首页 > 语言 > JavaScript > 正文

关于JavaScript的变量的数据类型的判断方法

2024-05-06 16:24:28
字体:
来源:转载
供稿:网友

这篇文章主要介绍了关于JavaScript的变量的数据类型的判断方法,JS是一种弱类型语言,其数据类型的相关特性有时也受到不少开发者的诟病,需要的朋友可以参考下

虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number、String、Boolean、Object、Udefined、Null。其中,Object属于复杂数据类型,Object 由无序的键值对组成。其余几种都属于简单数据类型。注意:变量类型首字母大写,而变量值首字母是小写的。

JavaScript不支持自定义类型,所以JavaScript中的所有值都属于这六种类型之一。

要搞清楚一个变量是何种数据类型,就要使用typeof操作符了,注意,尤其要注意的是,typeof是操作符,不是方法,因此,typeof中的字母'o'是小写的。

语法:typeof temp; //temp是一个变量,这里可以不加括号,但是为了程序的可读性,最好还是加上括号。

JavaScript 本身可以用它typeof来检测变量的类型,但是有些结果却让人疑惑,例如,数组的类型居然是"Object"。

下面是用typeof对各种数据类型的判断结果

 

 
  1. var myFunction = function() { 
  2. console.log('hello'); 
  3. }; 
  4.  
  5. var myObject = { 
  6. foo : 'bar' 
  7. }; 
  8.  
  9. var myArray = [ 'a''b''c' ]; 
  10.  
  11. var myString = 'hello'
  12.  
  13. var myNumber = 3; 
  14.  
  15. typeof myFunction; // 返回 'function' 
  16. typeof myObject; // 返回 'object' 
  17. typeof myArray; // 返回 'object' -- 小心哦! 
  18. typeof myString; // 返回 'string'; 
  19. typeof myNumber; // 返回 'number' 
  20.  
  21. typeof null// 返回 'object' -- 小心哦! 
  22.  
  23.  
  24. if (myArray.push && myArray.slice && myArray.join) { 
  25. // 很可能是一个数组 
  26. // 当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。 
  27.  
  28. if (Object.prototype.toString.call(myArray) === '[object Array]') { 
  29. // 肯定是一个数组! 
  30. // 这是判断一个变量是否为数组的最可靠方法 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选