数据类型判断基本方法
1 <script> 2 var num = 1 3 var str = '传智播客' 4 var bool=false; 5 var arr=[]; 6 var obj={name:'传智播客'}; 7 var date = new Date(); 8 var fn = function(){} 9 10 /****************************************************************************** 11 数据类型判断 - typeof 12 *******************************************************************************/ 13 console.log('数据类型判断 - typeof') 14 console.log(typeof undefined)//'undefined' 15 console.log(typeof null) // object 16 console.log(typeof true) //'boolean' 17 console.log(typeof 123) //'number' 18 console.log(typeof "abc") //'string' 19 console.log(typeof function() {}) //'function' 20 var arr=[]; 21 console.log(typeof {}) //'object' 22 console.log(typeof arr)//'object' 23 console.log(typeof unknownVariable) //'undefined' 24 // 在使用 typeof 运算符时采用引用类型存储值会出现一个问题, 25 // 无论引用的是什么类型的对象,它都返回 "object"。 26 /****************************************************************************** 27 数据类型判断 - toString.call 28 通用但很繁琐的方法: prototype 29 *******************************************************************************/ 30 console.log('数据类型判断 - toString.call') 31 console.log(toString.call(123)) //[object Number] 32 console.log(toString.call('123')) //[object String] 33 console.log(toString.call(undefined)) //[object Undefined] 34 console.log(toString.call(true)) //[object Boolean] 35 console.log(toString.call({})) //[object Object] 36 console.log(toString.call([])) //[object Array] 37 console.log(toString.call(function(){})) //[object Function] 38 39 console.log(Object.prototype.toString.call(str) === '[object String]') //-------> true; 40 console.log(Object.prototype.toString.call(num) === '[object Number]') //-------> true; 41 console.log(Object.prototype.toString.call(arr) === '[object Array]') //-------> true; 42 console.log(Object.prototype.toString.call(date) === '[object Date]') //-------> true; 43 console.log(Object.prototype.toString.call(fn) === '[object Function]') //-------> true; 44 45 /****************************************************************************** 46 数据类型判断 - instanceof 47 *******************************************************************************/ 48 // 判断已知对象类型的方法: instanceof 49 console.log('数据类型判断 - instanceof') 50 console.log(arr instanceof Array) //---------------> true 51 console.log(date instanceof Date) //---------------> true 52 console.log(fn instanceof Function) //------------> true 53 // alert(f instanceof function) //------------> false 54 // 注意:instanceof 后面一定要是对象类型,并且大小写不能错,该方法适合一些条件选择或分支。 55 /****************************************************************************** 56 数据类型判断 - 根据对象的constructor判断: constructor 57 *******************************************************************************/ 58 // 根据对象的constructor判断: constructor 59 var arr=[]; 60 console.log('数据类型判断 - constructor') 61 console.log(arr.constructor === Array) //----------> true 62 console.log(date.constructor === Date) //-----------> true 63 console.log(fn.constructor === Function) //-------> true 66 </script>
一辈子很短,努力的做好两件事就好;第一件事是热爱生活,好好的去爱身边的人;第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;