对于类型的判断,JavaScript用typeof来进行。
栗子:
console.log(typeof null); //object console.log(typeof []); //object console.log(typeof {}); //object console.log(typeof new Date()); //object console.log(typeof new Object); //object console.log(typeof function(){}); //function console.log(typeof alert); //function console.log(typeof 1); //number console.log(typeof "abc"); //string console.log(typeof true); //boolean
可以看到,typeof并不能够准确的判断出每一种数据类型,比如null和数组等都是object类型。因此,JavaScript判断数据类型不推荐使用typeof。
那么要如何具体判断呢??看一下语法<( ̄3 ̄)> !
{}.toString.call(obj);
栗子:
console.log({}.toString.call(null)); //[object Null] console.log({}.toString.call([])); //[object Array] console.log({}.toString.call({})); //[object Object] console.log({}.toString.call(new Date())); //[object Date] console.log({}.toString.call(function(){})); //[object Function] console.log({}.toString.call(new Object)); //[object Object] console.log({}.toString.call(alert)); //[object Function] console.log({}.toString.call(1)); //[object Number] console.log({}.toString.call('abc')); //[object String] console.log({}.toString.call(true)); //[object Boolean]
哈哈,是不是一目了然呀!!
那如果你用的是jQuery,就不用这么麻烦喽,可以直接用工具方法$.type(),进行判断
栗子:
console.log($.type(null)); //null console.log($.type([])); //array console.log($.type({})); //object console.log($.type(1)); //number ......不全写完了,结果和{}.toString.call(obj);是一样的
实际上{}.toString.call(obj);就是jQuery中$.type()这个工具方法的实现最重要的一段代码(⊙o⊙)哦,神奇吧!赶快去jQuery源码中找找看吧~~
以上就是小编为大家带来的关于JavaScript和jQuery的类型判断详解全部内容了,希望大家多多支持小牛知识库~
本文向大家介绍详解JavaScript数据类型和判断方法,包括了详解JavaScript数据类型和判断方法的使用技巧和注意事项,需要的朋友参考一下 前言 JavaScript 中目前有 7 种基本(原始primitives)数据类型 Undefined, Null,Boolean, Number, String,BigInt,Symbol,以及一种引用类型 Object,Object 中又包括 F
本文向大家介绍详解js类型判断,包括了详解js类型判断的使用技巧和注意事项,需要的朋友参考一下 js类型转换中typeof会将null也识别为object, 而且返回的类型比少,我们用Object.prototype.toString来实现 第一版 但是这样写,一个个去判断数组,函数,对象的话很麻烦,比较过程化 第二版 我们想用type(obj)的方式返回对应的类型字符串,因为typeof是小写,
本文向大家介绍javascript中关于类型判断的一些疑惑小结,包括了javascript中关于类型判断的一些疑惑小结的使用技巧和注意事项,需要的朋友参考一下 前言 类型判断是我们在日常工作中经常会遇到的一个功能,本文将给大家详细介绍关于javascript类型判断的相关内容,下面话不多说了,来一起看看详细的介绍吧 Javascript中数据类型分为两种: 简单数据类型:Undefined, NU
本文向大家介绍Java对象类型的判断详解,包括了Java对象类型的判断详解的使用技巧和注意事项,需要的朋友参考一下 instanceof 判断某个对象是否是某个类的实例或者某个类的子类的实例。它的判断方式大概是这样的: Class.equals() 这种方式比较的类型,一定是本身才返回true,子类或者父类都返回false; PS:b.getClass().equals(A.class)等同于b.
Variant对象的isXXX系列方法可以用于判断变量的类型。 整型 var.isInt(); 浮点型 var.isFloat(); 字符串 var.isString(); 布尔型 var.isBool(); 对象 var.isObject(); 数组 var.isArray(); NULL类型 var.isNull(); 资源类型 var.isResource();
类型识别 typeof Object.prototype.toString constructor instanceof typeof: 可以是标准类型(Null 除外) 不可识别具体的对象类型(Function 除外) Object.prototype.toString: 可是识别标准类型及内置对象类型(例如,Object, Date, Array) 不能识别自定义对象类型 constructo