javascript 检测变量类型的方法

不是每天都有阳光,不是每天都会凉爽,只要我们心中有阳光,人生总会是晴朗,只要我们心中有凉爽,每天都会充满希望。早安!

在js脚本中,如果要检测一个变量的数据类型有很多的种方法,下面就来简单的介绍几种常用的,大家参考一下吧!

js typeof 方法检测变量数据的类型

示例代码:

console.log(typeof 'ssss');
// string
console.log(typeof 123);
// number
var obj = {"name" : "mochu" , "host" : "feiniaomy.com"};
console.log(typeof obj);
// object
var array = [];
array[1] = 'feiniaomy.com';
console.log(typeof array);
// object
console.log(typeof false);
// boolean
console.log(typeof function(){});
// function
console.log(typeof undefined);
// undefined

注意:使用 typeof 运算法来检测变量类型时,对象类型与数组类型的变量都会显示为 object

js Object.prototype.toString 检测变量的类型

js 中的 Object.prototype.toString 方法可以检测变量的数据类型,可以使用它的 apply() 方法与 call() 方法

Object.prototype.toString.apply() 使用方法

console.log(Object.prototype.toString.apply('sss'));
// [object String]
console.log(Object.prototype.toString.apply(123));
// [object Number]
var obj = {"name" : "mochu" , "host" : "feiniaomy.com"};
console.log(Object.prototype.toString.apply(obj));
// [object Object]
var array = ['mochu','feiniaomy.com'];
console.log(Object.prototype.toString.apply(array));
// [object Array]
console.log(Object.prototype.toString.apply(false));
// [object Boolean]
var mochu  = function(){};
console.log(Object.prototype.toString.apply(mochu));
// [object Function]
console.log(Object.prototype.toString.apply(undefined));
// [object Undefined]

Object.prototype.toString.call() 使用方法

console.log(Object.prototype.toString.call('sss'));
// [object String]
console.log(Object.prototype.toString.call(123));
// [object Number]
var obj = {"name" : "mochu" , "host" : "feiniaomy.com"};
console.log(Object.prototype.toString.call(obj));
// [object Object]
var array = ['mochu','feiniaomy.com'];
console.log(Object.prototype.toString.call(array));
// [object Array]
console.log(Object.prototype.toString.call(false));
// [object Boolean]
var mochu  = function(){};
console.log(Object.prototype.toString.call(mochu));
// [object Function]
console.log(Object.prototype.toString.call(undefined));
// [object Undefined]

js constructor 属性检测变量的数据类型的方法

var s = 'feiniaomy.com';
console.log(s.constructor);
// String() { [native code] }
var ss = 134;
console.log(ss.constructor);
// Number() { [native code] }
var obj = {"name" : "mochu" , "host" : "feiniaomy.com"};
console.log(obj.constructor);
// Object() { [native code] }
var array = ['mochu','feiniaomy.com'];
console.log(array.constructor);
// Array() { [native code] }
console.log((false).constructor);
// Boolean() { [native code] }
var mochu  = function(){};
console.log(mochu.constructor);
// Function() { [native code]

注意:constructor 是不能判断 null 与 undefined 数据类型的!

jq 测试变量数据类型的方法

jquey 中的 type() 函数可以输出 js 变量的数据类型,并返回小写形式的类型名称。

示例代码:

var s = 'feiniaomy.com';
console.log($.type(s));
// string
var ss = 134;
console.log($.type(ss));
// number
var obj = {"name" : "mochu" , "host" : "feiniaomy.com"};
console.log($.type(obj));
// object
var array = ['mochu','feiniaomy.com'];
console.log($.type(array));
//  array
console.log($.type(false));
// boolean
var mochu  = function(){};
console.log($.type(mochu));
// function
console.log($.type(null));
// null
console.log($.type(undefined));
// undefined

本文javascript 检测变量类型的方法到此结束。态度决定命运,细节决定成败。生活方式的恰当与否直接关系到个人所从事工作的顺逆。事业是前台的表演,生活是后台的运作。只有健康体面的生活才能催发蓬勃的生命之树,才能谱写出绚丽多姿的生命圆舞曲。小编再次感谢大家对我们的支持!