如何判断js数据类型与数组的方法实例详解
程序员文章站
2022-04-11 12:17:01
...
数据类型判断之typeof
typeof可以解决大部分数据类型的判断,其返回值为一个字符串,该字符串说明运算数的类型。
//判断变量num是不是一个数字类型 if(typeof num=='number') { return true; }
返回结果:
var a="hling"; console.log(a); //string var a=1; console.log(a); //number var a=false; console.log(a); //boolean var a; console.log(typeof a); //undfined var a = null; console.log(typeof a); //object var a = document; console.log(typeof a); //object var a = []; console.log(a); //object var a = function(){}; console.log(typeof a) //function除了可以判断数据类型还可以判断function类型
除了string、number、boolean、undefined这四个类型外,null、object、array返回的都是object类型!!!
对于函数类型返回的则是function,再比如typeof(Date),typeof(eval)等。
js判断数组类型的方法
1) instanceof
instanceof 用于判断一个变量是否某个对象的实例,是一个三目运算式。这个操作符和JavaScript中面向对象有点关系,了解这个就先得了解JavaScript中的面向对象。因为这个操作符是检测对象的原型链是否指向构造函数的prototype对象的。
a instanceof b?alert("true"):alert("false") //注意b值是你想要判断的那种数据类型,是不是一个字符串,比如Array
例子:
var arr = [1,2,3,1]; alert(arr instanceof Array); // true
2) constructor
在W3C定义中的定义:constructor 属性返回对创建此对象的数组函数的引用
var arr = []; arr instanceof Array; // true arr.constructor == Array; //true
判断各种类型的方法是:
console.log("string".constructor == String); console.log((123).constructor == Number); console.log(false.constructor == Boolean); console.log([].constructor == Array); console.log({}.constructor == Object);
通用的方法:
function isArray(object){ return object && typeof object==='object' && Array == object.constructor; }
3) 特性判断
object.isArray() 来判断,目的就是准确地检测一个值是否为数组。IE9+、 Firefox 4+、Safari 5+、Opera 10.5+和Chrome都实现了这个方法。但是在IE8之前的版本是不支持的。
function isArray(object){ return object && typeof object==='object' && typeof object.length==='number' && typeof object.splice==='function' && //判断length属性是否是可枚举的 对于数组 将得到false !(object.propertyIsEnumerable('length')); }
4) Object.prototype.toString.call
Object.prototype.toString.call(value) == '[object Array]'
以上就是如何判断js数据类型与数组的方法实例详解的详细内容,更多请关注其它相关文章!
推荐阅读
-
JavaScript遍历数组的三种方法map、forEach与filter实例详解
-
如何判断js中的数据类型:typeof、instanceof、 constructor、 prototype方法比较
-
Node.js控制台彩色输出的方法与原理实例详解
-
js中如何判断引用值为数组(几种不同方式的详解)
-
js数组中的find(), findIndex(), filter(), forEach(), some(), every(), map(), reduce()方法的详解和应用实例
-
JS 与 JQ 判断数据类型的四种方法
-
JS中数组与对象的遍历方法实例小结
-
JavaScript遍历数组的三种方法map、forEach与filter实例详解
-
js判断是否为空字符串的简写方法实例详解
-
如何用js原生替换JQuery的16种方法的实例详解