typeof操作符及增强型类型判断函数

作者: bkbtp 分类: 前端 发布时间: 2018-05-22 12:17

typeof的使用

typeof的返回值有undefined、boolean、string、number、object、function、symbol。

对undefined 使用返回undefined、null使用返回object,NaN使用返回number。

自用类型判断函数

只需要鉴别基本类型那么使用typeof即可,但工作中有时候会需要精确的鉴别null等。

要鉴别null先使用全等判断是否为null,之后使用typeof判断,如果是obejct的话,再用Array.isArray判断是否为数组,如果是数字再使用isNaN判断是否为NaN(需要注意的是NaN并不是JavaScript数据类型,而是一种特殊值),方法如下:

function type(ele) {
  if(ele===null) {
    return null;
  } else if(typeof ele === 'object') {
    if(Array.isArray(ele)) {
      return 'array';
    } else {
      return typeof ele;
    }
  } else if(typeof ele === 'number') {
    if(isNaN(ele)) {
      return NaN;
    } else {
      return typeof ele;
    }
  } else{
    return typeof ele;
  }
}

可自行在控制台中测试:blob.jpg

发表评论

电子邮件地址不会被公开。 必填项已用*标注

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。