首页 > 其他分享 >js判断数据类型的五种方法

js判断数据类型的五种方法

时间:2022-12-13 16:23:40浏览次数:53  
标签:console log object 数据类型 js 五种 toString call

1. typeof

可以判断数据类型,它返回表示数据类型的字符串(返回结果只能包括number,boolean,string,function,object,undefined);
可以使用typeof判断变量是否存在(如if(typeof a!="undefined"){...});
Typeof 运算符的问题是无论引用的对象是什么类型 它都返回object

typeof {} // object
typeof  [1,2] // object
typeof /\s/ //object

 

2.instanceof

原理 因为A instanceof B 可以判断A是不是B的实例,返回一个布尔值,由构造类型判断出数据类型

console.log(arr instanceof Array ); // true
console.log(date instanceof Date ); // true
console.log(fn instanceof Function ); // true
//注意: instanceof 后面一定要是对象类型,大小写不能写错,该方法试用一些条件选择或分支

 

3.通过Object下的toString.call()方法来判断

Object.prototype.toString.call();
console.log(toString.call(123)); //[object Number]
console.log(toString.call('123')); //[object String]
console.log(toString.call(undefined)); //[object Undefined]
console.log(toString.call(true)); //[object Boolean]
console.log(toString.call({})); //[object Object]
console.log(toString.call([])); //[object Array]
console.log(toString.call(function(){})); //[object Function]

 

4.根据对象的contructor判断

console.log('数据类型判断' -  constructor);
console.log(arr.constructor === Array); //true
console.log(date.constructor === Date); //true
console.log(fn.constructor === Function); //true

 

5.jq中判断数据类型的方法

jQuery提供了一系列工具方法,用来判断数据类型,以弥补JavaScript原生的typeof运算符的不足。以下方法对参数进行判断,返回一个布尔值。
jQuery.isArray();是否为数组
jQuery.isEmptyObject();是否为空对象 (不含可枚举属性)。
jQuery.isFunction():是否为函数
jQuery.isNumberic():是否为数字
jQuery.isPlainObject():是否为使用“{}”或“new Object”生成对象,而不是浏览器原生提供的对象。
jQuery.isWindow(): 是否为window对象;
jQuery.isXMLDoc(): 判断一个DOM节点是否处于XML文档中。

 

标签:console,log,object,数据类型,js,五种,toString,call
From: https://www.cnblogs.com/chenxiaomeng/p/16979134.html

相关文章

  • 关于在文章中插入js函数
    开始使用博客园的时候,还是很不熟练的,便操作边写,接着写了一半,发现结果行不通,很郁闷又不想删除,于是想着使用js函数隐藏内容。花了很长时间查资料,有很多方案,可能是我......
  • js 实现退拽效果
    单个元素拖拽,不随页面滚动css部分body{height:2000px;}div{width:150px;height:150px;cursor:move;position:fixed;top:50px;color:#fff;box-sizing:border-box;z......
  • Go 结构体与 JSON 之间的转换
    耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的内容是Go结构体与JSON之间的转换。如果本文对你有帮助,不妨点个赞,如果你是Go语言初学者,不妨点个关注,一起成......
  • js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符
    1、强制类型转换Number1.1代码<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>强制类型Number</title><styletype="text/css"></style>......
  • thinkphp6 json(captcha())为空
    首先:composerrequiretopthink/think-captchav3.0.8  把这张图片下载,后缀名png改成zip,解压到:vendor/topthink ......
  • python json into xlsx
    #--coding:utf-8--**#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#pipinstallpandas#pipinstallopenpyxl####http://192:8090/......
  • js字符串转字节stringToByte
    functionstringToByte(str){varlen,c;len=str.length;varbytes=[];for(vari=0;i<len;i++){c=str.charCodeAt(i);......
  • Cookie&jsp入门
    会话技术1,会话:一次会话中包含多次请求和响应一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止。2,功能:在一次会话范围内多次请求间共享数据。3,方式:1,......
  • HTML Js
    HTML<noscript>标签HTML <noscript> 标签定义了替代内容,这些内容将显示给在浏览器中禁用了脚本或浏览器不支持脚本的用户:<script>document.getElementById("demo")......
  • GraphQL.js All In One
    GraphQL.jsAllInOnerefs©xgqfrms2012-2020www.cnblogs.com/anonymous007发布文章使用:只允许注册用户才可以访问!原创文章,版权所有©️anonymous007,禁止转......