JS数据类型检测方法汇总
2017-07-07 17:11
543 查看
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html> <script> var num = 1 var str = '心暖未晴' var bool=false; var arr=[]; var obj={name:'心暖未晴'}; var date = new Date(); var fn = function(){} /****************************************************************************** 数据类型判断 - typeof *******************************************************************************/ console.log('数据类型判断 - typeof') console.log(typeof undefined)//'undefined' console.log(typeof null) // well-known bug console.log(typeof true) //'boolean' console.log(typeof 123) //'number' console.log(typeof "abc") //'string' console.log(typeof function() {}) //'function' var arr=[]; console.log(typeof {}) //'object' console.log(typeof arr)//'object' console.log(typeof unknownVariable) //'undefined' // 在使用 typeof 运算符时采用引用类型存储值会出现一个问题, // 无论引用的是什么类型的对象,它都返回 "object"。 /****************************************************************************** 数据类型判断 - toString.call 通用但很繁琐的方法: prototype *******************************************************************************/ console.log('数据类型判断 - 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] console.log(Object.prototype.toString.call(str) === '[object String]') //-------> true; console.log(Object.prototype.toString.call(num) === '[object Number]') //-------> true; console.log(Object.prototype.toString.call(arr) === '[object Array]') //-------> true; console.log(Object.prototype.toString.call(date) === '[object Date]') //-------> true; console.log(Object.prototype.toString.call(fn) === '[object Function]') //-------> true; /****************************************************************************** 数据类型判断 - instanceof *******************************************************************************/ // 判断已知对象类型的方法: instanceof console.log('数据类型判断 - instanceof') console.log(arr instanceof Array) //---------------> true console.log(date instanceof Date) //---------------> true console.log(fn instanceof Function) //------------> true // alert(f instanceof function) //------------> false // 注意:instanceof 后面一定要是对象类型,并且大小写不能错,该方法适合一些条件选择或分支。 /****************************************************************************** 数据类型判断 - 根据对象的constructor判断: constructor *******************************************************************************/ // 根据对象的constructor判断: constructor var arr=[]; console.log('数据类型判断 - constructor') console.log(arr.constructor === Array) //----------> true console.log(date.constructor === Date) //-----------> true console.log(fn.constructor === Function) //-------> true </script>
相关文章推荐
- JS-安全检测JavaScript基本数据类型和内置对象的方法
- JS中检测数据类型的四种方法
- js中检测数据类型的常用方法(数据类型检测)
- JS数据类型检测的四种方法
- js数据类型检测方法(总结)
- 基于Lockset的数据竞争检测方法汇总(二)
- 判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
- js判断操作系统、判断浏览器类型、判断数据类型权威方法--extjs源码
- 基于Lockset的数据竞争检测方法汇总(三)
- 基于Lockset的数据竞争检测方法汇总(四)
- js基本数据类型及判断方法
- 判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
- JS 数据类型转换主要三种方法
- js类型检测方法
- 每日学习心得:Js基本数据类型常用方法扩展
- js基本数据类型与类型检测
- 基于Lockset的数据竞争检测方法汇总(一)
- 每日学习心得:Js基本数据类型常用方法扩展
- 判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
- JavaScript数据类型转换方法汇总