• js的7种类型


    众所周知,js有7种数据类型

      1.  null 

      2. undefined

      3. boolean

      4. number

      5. string  

      6. 引用类型(object、array、function)

      7. symbol

    判断类型有以下4种判读方法

    第一种方式:   typeof

      typeof null   ---> "object"

      typeof undefined  ---> "undefined"

      typeof true | false  ---> 'boolean'

      typeof 42    ---> 'number'

      typeof "42" ---> 'string'

      typeof { name : '1'} | []  ---> 'object'

      typeof Symbol    ---> 'symbol'

      typeof ()=>{}       ---> 'function'

      typeif void 0      ---> 'undefined'

    第二种方式  instanceof  但是这种方式只适合判断object类型

      比如 : var arr = [] ; arr instanceof Array   ---> true

          null instanceof Object ---> false

         [function] instanceof Object | Function  --> true

    第三种方式  Object.prototype.toString.call()   这种方式可以将全部的数据类型检测出来 也是 推荐的方式

      因为toString是Object的原型方法, 而 Array Function 等都是Object的实例。都重写了toString 方法。返回的是类型的字符串

      Object.prototype.toString.call(null)  --->  [object Null]

      Object.prototupe.toString.call(undefined)  ---> [object Undefined]

      Object.prototype.toString.call(123)  ---> [object Number]

      Object.prototype.toString.call(true) ---> [object Boolean]

      Object.prototype.toString.call('123') ---> [object String]

      Object.prototype.toString.call({})    ---> [object Object]

      Object.prototype.toString.call([])    ---> [object Array]

      Object.prototype.toString.call(Math) ---> [object Math]

      Object.prototype.toString.call(function(){}) ---> [object Function]

      Objdec.prototype.toString.call(new Date)  ---> [object Date]

      Object.prototype.toString.call(Symbol())   ---> [object Symbol]

     第四种方式: constructor  判断对象的构造函。

      1.  null 是js 原型链的起点,没有构造函数

      2. undefined 没有构造函数

      3. [].constructor  === Array  ---> true

      4. [string].constructor === String

      5. [object].constructor === object

      6. [number].constructor === Number

      7. [symbol].constructor === Symbol

      8. [function].constructor === Function

      9. [new Date].constructor === Date

      10. [RegExp].constructor === RegExp

  • 相关阅读:
    前端知识体系
    前端知识大总结(全)
    控制div层的显示以及隐藏
    让一个比较宽的banner位于页面中间
    数据结构之树(二)
    数据结构之树(一)
    数据结构之队列
    数据结构之栈
    数据结构之线性表(二)
    数据结构之线性表(一)
  • 原文地址:https://www.cnblogs.com/amiezhang/p/10325558.html
Copyright © 2020-2023  润新知