web前端|js教程
javascript,数组,类型
web前端-js教程
数据类型判断之typeof
汽车导购源码,ubuntu怎么选择源,GAE 创建的爬虫,十八进制转换成十进制php代码,seo外包太原lzw
typeof可以解决大部分数据类型的判断,其返回值为一个字符串,该字符串说明运算数的类型。
efs frame企业级开发框架源码,vscode代理配置,Ubuntu替换火狐浏览器,tomcat 日志信息,sqlite 表名 数字,ecshop支付插件免签约,前端框架有哪些前景,屁股爬虫子出来,php中文长度,seo新手如何入门seo教程,网站制作的源代码和文档下载,手机网页悬浮广告代码,欧美企业网站模板,php后台管理系统原理,问卷调查网站程序lzw
html 底部版权源码,ubuntu个性化,python爬虫爬美女,php repuire,SEO什么方法lzw
//判断变量num是不是一个数字类型if(typeof num== umber) { return true;}
返回结果:
var a="hling"; console.log(a); //stringvar a=1; console.log(a); //numbervar a=false; console.log(a); //booleanvar a; console.log(typeof a); //undfinedvar a = null; console.log(typeof a); //objectvar a = document; console.log(typeof a); //objectvar a = []; console.log(a); //objectvar 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=== umber && typeof object.splice===function && //判断length属性是否是可枚举的 对于数组 将得到false !(object.propertyIsEnumerable(length));}
4) Object.prototype.toString.call
Object.prototype.toString.call(value) == [object Array]