Rumah  >  Artikel  >  hujung hadapan web  >  判断JavaScript变量数据类型的方法

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

巴扎黑
巴扎黑asal
2017-08-21 10:43:231185semak imbas

  虽然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]") {
  // 肯定是一个数组!
  // 这是判断一个变量是否为数组的最可靠方法
}

Atas ialah kandungan terperinci 判断JavaScript变量数据类型的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn