1. 程式人生 > >JavaScript型別檢測方法

JavaScript型別檢測方法

1、typeof 運算子識別,適用以下型別
var num = 1; // typeof(num) == 'number'
var str = 'hello'; // typeof(str) == 'string'
var boo = true; // typeof(boo) == 'boolean'
var obj = {};// typeof(obj) == 'object'
2、當變數為陣列時,typeof返回的是object,要正確返回array,操作如下:

Object物件原型的toString方法: 這種方法也可以用來獲得任何其他變數的型別,不管變數的實際型別是什麼,返回值都是以 object 開頭,因為 Number,String,Boolean,Array,Function 都繼承自 JavaScript 內建的 Object 物件,而每一個變數,都是與其型別相應的物件的一個例項。 /* Object.prototype.toString.call(arg); // arg 可以是任何變數,不管變數的實際型別是什麼,返回值都是以 object 開頭。 */

var num = 1;
alert(Object.prototype.toString.call(num)); // [object Number]
var str = 'hudidit.com';
alert(Object.prototype.toString.call(str)); // [object String]
var boo = true;
alert(Object.prototype.toString.call(boo)); // [object Boolean]
var fun = function(){};
alert(Object.prototype.toString.call(fun)); // [object Function]
var obj = {}; alert(Object.prototype.toString.call(obj)); // [object Object] var arr = []; alert(Object.prototype.toString.call(arr)); // [object Array]
3、當物件是一個例項時,用instanceof檢測,instanceof 運算子用於判斷一個變數是否為一個物件的例項。
var arr = [];
alert(arr instanceof Array); // true

在這裡,arr 是 Array 物件的一個例項,所以 arr instanceof Array 會返回 true ,從而我們知道變數 arr 是一個數組

4、jQuery.isArray()
var num = [10, 5, 3];
$.isArray(num);