JS精确判断数据类型代码实例
这篇文章主要介绍了JS精确判断数据类型代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
普通的判断方式有各种不足,typeof就不说了,判断模糊
constructor这种判断方式是可以,但是也有不足,如果aaa为null或者undefined的时候,代码就会报错
var aaa = {} aaa.constructor === Object //true
下面介绍一种完美的判方式:利用Object.prototype.toString.call()判断
var toString = Object.prototype.toString; function isArray(val) { return toString.call(val) === '[object Array]'; } function isObject(val) { return toString.call(val) === '[object Object]'; } function isNull(val) { return toString.call(val) === '[object Null]'; } function isUndefined(val) { return toString.call(val) === '[object Undefined]'; }
如此,即能判断准确,又不会报错,是不是很完美,欢迎评论留言
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
js判断数据类型如判断是否为数组是否为字符串等等
1 判断是否为数组类型 2 判断是否为字符串类型 3 判断是否为数值类型 4 判断是否为日期类型 5 判断是否为函数 6 判断是否为对象 1 判断是否为数组类型 复制代码 代码如下: <script type="text/javascript"> //<![CDATA[ var a=[0]; document.write(isArray(a),'<br/>'); function isArray(obj){ return (typeof obj=='obj
-
浅谈js数据类型判断与数组判断
写在开篇: 昨天面试发现一个十分非常简单的问题竟然没有回答上来,可能也确实是因为太紧张了,感觉被自己蠢哭了.后来想想还是应该认真记录一下,这样才能印象深刻.革命尚未成功,壮实仍需努力! 1. js六大数据类型 number:数字,整数.浮点数等等, string:单引号或者双引号来说明, Boolean:返回true和false,这两个值不一定对应1和0 object:对象,可以执行new操作符后跟要创建的对象类型的名称来创建. null:只有一个值得数据类型,逻辑上讲,null值表示一个空对象
-
JavaScript中判断数据类型的方法总结
typeof typeof用的比较多的时候,是判断某个全局变量在不在,假如某个页面定义了一个全局变量.假如你做如下判断: //haorooms是全局变量 if(haorooms!=undefined){ }//js会报错,说"Uncaught ReferenceError: haorooms is not defined" 解决的方法是我们如下写: if(typeof haorooms!=undefined){ } 用了typeof之后,就不会报错了!这是typeof的应用之一! 此外
-
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
1.typeof(param) 返回param的类型(string) 这种方法是JS中的定义的全局方法,也是编译者们最常用的方法,优点就是使用简单.好记,缺点是不能很好的判断object.null.array.regexp和自定义对象. 示例代码: 复制代码 代码如下: var str='str';var arr=['1','2'];var num=1;var bool=true;var obj={name:'test'};var nullObj=null;var undefinedObj=un
-
js的各种数据类型判断的介绍
1.typeof typeof 用来判断各种数据类型,有两种写法:typeof xxx , typeof(xxx) 例如: typeof 2 输出 number typeof null 输出 object typeof {} 输出 object typeof [] 输出 object typeof (function(){}) 输出 function typeof undefined 输出 undefined typeof '222' 输出 string typeof true 输出 boole
-
js 判断数据类型的几种方法
判断js中的数据类型有一下几种方法:typeof.instanceof. constructor. prototype. $.type()/jquery.type(),接下来主要比较一下这几种方法的异同. 先举几个例子: var a = "iamstring."; var b = 222; var c= [1,2,3]; var d = new Date(); var e = function(){alert(111);}; var f = function(){this.name=&
-
js 判断各种数据类型的简单方法(推荐)
了解js的都知道, 有个typeof 用来判断各种数据类型,有两种写法:typeof xxx ,typeof(xxx) 如下实例: typeof 2 输出 number typeof null 输出 object typeof {} 输出 object typeof [] 输出 object typeof (function(){}) 输出 function typeof undefined 输出 und
-
判断js数据类型的函数实例详解
function judgeType(change) { if (arguments.length == 0) { return '0';//无参数传入 } if (change === null) { return 'null' } if (change === undefined && arguments.length > 0) { return 'undefined' } if (change instanceof Function) { return 'function' }
-
JS精确判断数据类型代码实例
这篇文章主要介绍了JS精确判断数据类型代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 普通的判断方式有各种不足,typeof就不说了,判断模糊 constructor这种判断方式是可以,但是也有不足,如果aaa为null或者undefined的时候,代码就会报错 var aaa = {} aaa.constructor === Object //true 下面介绍一种完美的判方式:利用Object.prototype.toString.
-
JS正则表达式判断有效数实例代码
<script type="text/javascript"> function validate(){ var reg = new RegExp("^[0-9]*$"); var obj = document.getElementById("name"); if(!reg.test(obj.value)){ alert("请输入数字!"); } if(!/^[0-9]*$/.test(obj.value)){ a
-
js控制随机数生成概率代码实例
基本思路:把Math.random()生成的数看着百分比,然后定义每个整数值取值范围. 具体内容如下,供大家参考 'use strict'; export default class GL { /** * 构造函数 * @param {object} opt * @param {number} opt.min 最小整数值 * @param {number} opt.max 最大整数值 * @param {Map} opt.fenpei 自定义概率 */ constructor({ min, ma
-
SpringBoot登录判断过程代码实例
这篇文章主要介绍了SpringBoot登录判断代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 <!-- html登录代码 --> <div class="box"> <div class="title">登录</div> <div class="input"> <label for="name">
-
JS实现匀速运动的代码实例
效果: 思路: 利用setInerval()计时器,进行运动.然后关键的一点是在最后停止的时候给它一个填充缝隙的判断. 代码: 复制代码 代码如下: <head runat="server"> <title></title> <style type="text/css"> #div1 { width: 100px; height: 10
-
js实现的类似于asp数据字典的数据类型代码实例
首先声明一个数组: 复制代码 代码如下: var dictNew=new Array; var key; var value; for (var i = 0; i <50; i++) { //获取要添加到数据字典的键值对 key= jQuery("#costCodeIdId"+i).val(); value = num2zero(jQuery("#valueId"+i).val()); //检查该key值是否在数据字典中存在,如果不存在,直接把key值和v
-
js获取url参数代码实例分享(JS操作URL)
代码很简单,主要一个思路是把url参数解析为js对象,再做增.删.改.查操作就很方便了~,这里做笔记. 复制代码 代码如下: var LG=(function(lg){ var objURL=function(url){ this.ourl=url||window.location.href; this.href="";//?前面部分 this.params={};//url参数对象 this.jing="&quo
-
js tab栏切换代码实例解析
今天机试有个内容是做网易云课堂tab栏切换的,如下 先简单说下我当时的想法 1.先弄一个大div盒子,我命名为tab 2.在大盒子tab里面有两个小盒子,分别是标题栏(tab_list)和内容栏(tab_con) 3.采用display:flex:使标题栏菜单和内容栏的内容水平对齐(可能待会放的代码不是很规范,但实现对齐效果) 4.js编写鼠标移入事件,主要是利用display:none和display:block之间的切换. 下面放下我当时写的代码吧,可能写得不是很正规,不符合习惯,请大家见谅
-
基于html+css+js实现简易计算器代码实例
使用html+css+js实现简易计算器, 效果图如下: html代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http
-
基于原生js实现九宫格算法代码实例
九宫格算法核心: 利用控件索引index计算出控件所在的行数和列数: 利用控件计算出left距离: 利用控件计算出top距离: 写特效时需要用到定位 公式: 行 row=parseInt(i/cols); 列 col=parseInt(i%cols); i是当前的盒子,cols是总列数, 代码示例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"&g
随机推荐
- ubuntu下apt-get安装和彻底卸载mysql详解
- jquery下组织javascript代码(js函数化)
- javascript制作幻灯片(360度全景图片)
- linux下用tar命令将当前目录下文件按子目录压缩归档的实现
- ThinkPHP中的关联模型注意点
- C++实现汉诺塔算法经典实例
- PHP循环语句笔记(foreach,list)
- SQL SERVER 分组求和sql语句
- 原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
- layer实现弹窗提交信息
- Java中获取子字符串的几种方法示例
- 微信公众平台开发之处理图片.Net代码解析
- 四步五分钟Spring4快速集成Swagger
- JS计算距当前时间的时间差实例
- vue 父组件中调用子组件函数的方法
- 基于Oracle多库查询方法(分享)
- python二维列表一维列表的互相转换实例
- 解决Pycharm调用Turtle时 窗口一闪而过的问题
- 详解Java的TCP/IP编程学习--基于定界符的成帧
- FlowLayout流式布局实现搜索清空历史记录