广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >js类型判断的示例分析
  • 405
分享到

js类型判断的示例分析

2024-04-02 19:04:59 405人浏览 八月长安
摘要

这篇文章给大家分享的是有关js类型判断的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。js类型转换中typeof会将null也识别为object, 而且返回的类型比少,我

这篇文章给大家分享的是有关js类型判断的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

js类型转换中typeof会将null也识别为object, 而且返回的类型比少,我们用Object.prototype.toString来实现

第一版

function isArray(value){
  return Object.prototype.toString.call(value) === "[object Array]";
}

function isFunction(value){
  return Object.prototype.toString.call(value) === "[object Function]";
}

但是这样写,一个个去判断数组,函数,对象的话很麻烦,比较过程化

第二版

我们想用type(obj)的方式返回对应的类型字符串,因为typeof是小写,所以我们也返回小写的标准

function type(obj){
  // -1 代表截止到倒数一位
  return Object.prototype.toString.call(obj).slice(8,-1).toLowerCase()
}

type([]) // "array"

但是这样每次都需要对判断的类型进行slice和toLowerCase也是比较耗性能的, 而且判断类型只有几种,所以我们可以用对象提前将可能的结果缓存起来

第三版

//将types放外面 而不是放在type函数里面, 利用闭包,优化性能,不用每次判断都声明一次typess
var types = {
  '[object Function]': 'function',
  '[object Number]': 'number',
  ...
}

function type(obj) {
  var str = Object.prototype.toString.call(obj)
  return types[str]
}

当然上面的types我们还可以这样优化

// 参考自Jquery源码
var types = {}
当然也可以直接用数组存储
"Boolean Number String Function Array Date RegExp Object Error".split(" ").forEach(function(e,i){
  types [ "[object " + e + "]" ] = e.toLowerCase();
}) ;

判断window对象

利用window对象的window属性等于自身

function isWindow( obj ) {
  // obj !== undefined 是为了防止没传参数的时候后面报错
  // Uncaught TypeError: Cannot read property 'window' of undefined的错误
  
  return obj !== undefined && obj === obj.window;
}

判断是不是dom元素

isElement = function(obj) {
  return !!(obj && obj.nodeType === 1);
}

感谢各位的阅读!关于“js类型判断的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: js类型判断的示例分析

本文链接: https://www.lsjlt.com/news/77705.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • js类型判断的示例分析
    这篇文章给大家分享的是有关js类型判断的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。js类型转换中typeof会将null也识别为object, 而且返回的类型比少,我...
    99+
    2022-10-19
  • javascript中类型判断的示例分析
    小编给大家分享一下javascript中类型判断的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Javascript中数...
    99+
    2022-10-19
  • JS复杂判断的示例分析
    这篇文章给大家分享的是有关JS复杂判断的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。先看一段代码 const onButtonClick1 =&nb...
    99+
    2022-10-19
  • 基于javascript中typeof和类型判断的示例分析
    小编给大家分享一下基于javascript中typeof和类型判断的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!typ...
    99+
    2022-10-19
  • JS中类型转换的示例分析
    这篇文章将为大家详细讲解有关JS中类型转换的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言类型转换是将值从一种类型转换为另一种类型的过程(比如字符串转数字,对...
    99+
    2022-10-19
  • JS数值Number类型的示例分析
    小编给大家分享一下JS数值Number类型的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Number 问题下面的问题你都能回答对了吗?0.1 + 0.2 == 0.3 成立吗?....
    99+
    2022-10-19
  • js数据类型之数字类型的示例分析
    这篇文章主要介绍了js数据类型之数字类型的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我们具体介绍一下js的数据类型其中一种。一、...
    99+
    2022-10-19
  • js表单序列化判断空值的示例分析
    这篇文章主要介绍了js表单序列化判断空值的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。//form表单页面<form&nbs...
    99+
    2022-10-19
  • js中boolean判断的示例
    这篇文章将为大家详细讲解有关js中boolean判断的示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript是什么JS是JavaScript的简称,它是一种直译式的脚本语言,其解释器被称为...
    99+
    2023-06-14
  • php中null判断的示例分析
    这篇文章给大家分享的是有关php中null判断的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。关于null判断//写法一 is_null($a); //写法二 $a&nb...
    99+
    2022-10-19
  • js中的原型的示例分析
    小编给大家分享一下js中的原型的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在讲js的原型之前,必须先了解下Objec...
    99+
    2022-10-19
  • JS中数据类型的正确判断方法实例
    目录前言 typeof是否能正确判断类型? instanceof是否能正确判断类型? Object.prototype.toString.call() constructor Arr...
    99+
    2022-11-12
  • PHP中null判断赋值的示例分析
    小编给大家分享一下PHP中null判断赋值的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!null判断赋值几种写法//当...
    99+
    2022-10-19
  • linux脚本判断条件的示例分析
    小编给大家分享一下linux脚本判断条件的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如下所示:-b file 若文件存在且是一个块特殊文件,则为真-c...
    99+
    2023-06-09
  • JS中时间对象与引用类型的示例分析
    这篇文章将为大家详细讲解有关JS中时间对象与引用类型的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。基础类型有哪些?复杂类型有哪些?有什么特征?基础类型:Stri...
    99+
    2022-10-19
  • linux shell内置判断语句的示例分析
    这篇文章主要介绍了linux shell内置判断语句的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。内置判断,成功的时候返回0,不成功返回非零  test ...
    99+
    2023-06-09
  • js怎样判断对象的数据类型
    这篇文章主要介绍js怎样判断对象的数据类型,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!判断对象的数据类型使用Object.prototype.toString配合闭包来实现对象数据...
    99+
    2022-10-19
  • GO语言类型查询类型断言示例解析
    目录类型查询1.comma-ok断言2. switch测试类型断言类型查询 我们知道interface的变量里面可以存储任意类型的数值(该类型实现了interface)。那么我们怎么...
    99+
    2022-11-13
  • JavaScript中String类型的示例分析
    这篇文章将为大家详细讲解有关JavaScript中String类型的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。String字符串转义符:转义序列字符\b退格\...
    99+
    2022-10-19
  • JavaScript中Number类型的示例分析
    这篇文章将为大家详细讲解有关JavaScript中Number类型的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。NumberNumber数字类型:包含整数和小数...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作