zoukankan      html  css  js  c++  java
  • JS 中类型鉴别

      JS中的基本类型有:数字(Number(NaN,Infinity)),字符串(String),Undefined,Null,Boolean

      引用类型有:数组(Array),对象(Object),函数(Function),日期(Data),正则(RegExp)

    鉴别类型一般使用typeof关键字,但是typeof运算符有很多坑:

      1:对null返回的是object,但是不能将属性和方法加在null身上。

      2:对NaN和Infinity返回的是number,但是这两个量是不可以用来做数值计算的。

      3:不能区分对象,数组,Data,正则及null,都返回的是object。

      最完整的方法是使用Object.prototype.toString方法(前提是此方法没有被重写的情况下)来鉴别各种类型。

      typeof Object.prototype.toString.call(XX)
    number number [object Number]
     NaN  number  [object Number]
     Infinity number [object Number]
    string     string [object String]
    undefined undefined [object Undefined]
    null object [object Null]
    bool boolean [object Boolean]
    array object [object Array]
    obj object [object Object]
    fun function [object Function]
    Data     object [object Data]
    RegExp object [object RegExp]

     

      

     

      此方法唯一的缺点就是没办法区分NaN,Infinity和number,其实从本质上说NaN和Infinity是number的两个特例,所以按照number来标识也不错,只是以后遇见需要判断里的时候要先排除这两个特例再辅之Object.prototype.tostring.call()就能完善的区分各种类型了.

  • 相关阅读:
    给微信小程序添加简单小动画
    微信小程序封装wx.request方法
    微信小程序项目,实现图书列表渲染,以及图书详情跳转
    总结一下微信小程序中父子兄弟组件传递数据
    给自己看的flex布局方法
    moment.js踩坑
    Vue项目的一些优化策略
    vue中按需使用第三方插件
    js基础复习2,class和原型
    js基础复习1
  • 原文地址:https://www.cnblogs.com/Flychown/p/6222992.html
Copyright © 2011-2022 走看看