18_判断数据类型.html 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. let str = "hello";
  11. let num = 10;
  12. let bool = true;
  13. let und = undefined;
  14. let nul = null;
  15. let arr = [1,2,3,4,5,6,7,8,9];
  16. let obj = {a:10};
  17. let fun = function () {
  18. console.log("hello");
  19. }
  20. // typeof 运算符
  21. // typeof 运算符可以判断一个变量的数据类型
  22. // 返回一个字符串 表示数据类型
  23. // 一般用作于判断基本数据类型,除了null 和对象返回都是object
  24. // console.log(typeof str); // string
  25. // console.log(typeof num); // number
  26. // console.log(typeof bool); // boolean
  27. // console.log(typeof und); // undefined
  28. // console.log(typeof nul); // object
  29. // console.log(typeof arr); // object
  30. // console.log(typeof obj); // object
  31. // instanceof 运算符
  32. // instanceof 运算符可以判断一个对象是否是一个类的实例
  33. // 返回一个布尔值
  34. // 一般用作于判断引用数据类型 数组 对象 函数
  35. // console.log(str instanceof String); // false
  36. // console.log(num instanceof Number); // false
  37. // console.log(bool instanceof Boolean); // false
  38. // console.log(und instanceof undefined); // false
  39. // console.log(nul instanceof null); // false
  40. // console.log(arr instanceof Array); // true
  41. // console.log(obj instanceof Object); // true
  42. // console.log(fun instanceof Function); // true
  43. // constructor 构造函数
  44. // constructor 可以判断一个变量的数据类型
  45. // 返回一个字符串 表示数据类型
  46. // 除了 null 和 undefined 其他都可以使用 constructor 来判断数据类型
  47. // console.log(str.constructor); // function String() { [native code] }
  48. // console.log(num.constructor); // function Number() { [native code] }
  49. // console.log(bool.constructor); // function Boolean() { [native code] }
  50. // console.log(und.constructor); // undefined
  51. // console.log(nul.constructor); // null
  52. // console.log(arr.constructor); // function Array() { [native code] }
  53. // console.log(obj.constructor); // function Object() { [native code] }
  54. // console.log(fun.constructor); // function Function() { [native code] }
  55. // 通过 Object.prototype.toString.call() 来判断数据类型
  56. // 可以判断所有数据类型
  57. // 返回一个带有类型名称的字符串
  58. // console.log(Object.prototype.toString.call(str)); // [object String]
  59. // console.log(Object.prototype.toString.call(num)); // [object Number]
  60. // console.log(Object.prototype.toString.call(bool)); // [object Boolean]
  61. // console.log(Object.prototype.toString.call(und)); // [object Undefined]
  62. // console.log(Object.prototype.toString.call(nul)); // [object Null]
  63. // console.log(Object.prototype.toString.call(arr)); // [object Array]
  64. // console.log(Object.prototype.toString.call(obj)); // [object Object]
  65. // console.log(Object.prototype.toString.call(fun)); // [object Function]
  66. // 判断数组
  67. console.log(Array.isArray(arr))
  68. </script>
  69. </body>
  70. </html>