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