javascript 简单高效判断数据类型 系列函数 By shawl.qiu

2023-11-09

javascript 简单高效判断数据类型 系列函数 By shawl.qiu


说明: 
前段时间把 ASP VBScript 掌握得差不多的时候, 就转而学习 Javascript/Jscript, 主要是学 Jscript 啦. 
不过这两者基本上没什么区别, 唯一不同的是 Jscript 没有客户端的概念. 

在刚开始时, 发现 VBS 的一些实用函数 Js 好多都没有, formatNumber 呀 isArray 呀 isDate 呀 等等. 
还有日期对象也是很奇怪, 不能直接加加减减, 要set***...

不过对 Javascript/Jscript 掌握到一定程度的时候, 会发现他比 VBS 强上 N 倍, 强的地方就在于 他语法自由, VBS 没有的某某函数, 在 Js 中只要搞个 prototype 或建个判断函数就完全可以实现相同功能. 另一强得比较明显的地方是随处可用正则. 

呀, 废话一堆, 接招吧. 

目录:
1 判断是否为数组类型
2 判断是否为字符串类型
3 判断是否为数值类型
4 判断是否为日期类型
5 判断是否为函数
6 判断是否为对象

shawl.qiu
2006-11-13
  http://blog.csdn.net/btbtd

1 判断是否为数组类型
  1. linenum
  2. <script type="text/javascript">
  3. //<![CDATA[
  4.     var a=[0];
  5.         document.write(isArray(a),'<br/>');
  6.     function isArray(obj){
  7.         return (typeof obj=='object')&&obj.constructor==Array;
  8.     }
  9. //]]>
  10. </script>


2 判断是否为字符串类型
  1. linenum
  2. <script type="text/javascript">
  3. //<![CDATA[
  4.     document.write(isString('test'),'<br/>');
  5.     document.write(isString(10),'<br/>');
  6.     function isString(str){
  7.         return (typeof str=='string')&&str.constructor==String;
  8.     }
  9. //]]>
  10. </script>


3 判断是否为数值类型
  1. linenum
  2. <script type="text/javascript">
  3. //<![CDATA[
  4.     document.write(isNumber('test'),'<br/>');
  5.     document.write(isNumber(10),'<br/>');
  6.     function isNumber(obj){
  7.         return (typeof obj=='number')&&obj.constructor==Number;
  8.     }
  9. //]]>
  10. </script>


4 判断是否为日期类型
  1. linenum
  2. <script type="text/javascript">
  3. //<![CDATA[
  4.     document.write(isDate(new Date()),'<br/>');
  5.     document.write(isDate(10),'<br/>');
  6.     function isDate(obj){
  7.         return (typeof obj=='object')&&obj.constructor==Date;
  8.     }
  9. //]]>
  10. </script>


5 判断是否为函数
  1. linenum
  2. <script type="text/javascript">
  3. //<![CDATA[
  4.     document.write(isFunction(function test(){}),'<br/>');
  5.     document.write(isFunction(10),'<br/>');
  6.     function isFunction(obj){
  7.         return (typeof obj=='function')&&obj.constructor==Function;
  8.     }
  9. //]]>
  10. </script>


6 判断是否为对象
<script type="text/javascript">
  1. linenum
  2. //<![CDATA[
  3.     document.write(isObject(new Object()),'<br/>');
  4.     document.write(isObject(10),'<br/>');
  5.     function isObject(obj){
  6.         return (typeof obj=='object')&&obj.constructor==Object;
  7.     }
  8. //]]>
  9. </script>


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javascript 简单高效判断数据类型 系列函数 By shawl.qiu 的相关文章

随机推荐

  • 多态和虚函数的基本概念和用法

    C 多态 多态按字面的意思就是多种形态 当类之间存在层次结构 并且类之间是通过继承关联时 就会用到多态 C 多态意味着调用成员函数时 会根据调用函数的对象的类型来执行不同的函数 多态的优点 代码组织结构清晰 可读性强 利于前期和后期的扩展以
  • steam++加速问题:出现显示443端口被 vmware-hostd(9860)占用的错误。

    前言 时不可以苟遇 道不可以虚行 今天的的前言诗句特地百度搜索了一下 诗句大概的意思是 时机是不可能随便就能遇到的 道路也要一步一步踏实地行走 象征着好运的诗句 之所以特地去找这样意思的诗句 主要的原因是 今天就是四六级考试 想给自己带来一
  • 利用Python(netCDF4库)读取.nc文件(NetCDF气象数据文件)的基本操作

    NetCDF network Common Data Form 网络通用数据格式是一种面向数组型并适于网络共享的数据的描述和编码标准 目前 NetCDF广泛应用于大气科学 水文 海洋学 环境模拟 地球物理等诸多领域 用户可以借助多种方式方便
  • LeetCode--初级算法--字符串类算法

    反转字符串 题目 编写一个函数 其作用是将输入的字符串反转过来 示例 1 输入 hello 输出 olleh 示例 2 输入 A man a plan a canal Panama 输出 amanaP lanac a nalp a nam
  • flask配置https协议

    感谢https blog csdn net qq 33934427 article details 127456673 文中多有参考再实践 一 要用https协议需要有ca证书 在windows10先下载windows版本openssl 地
  • uni-app (路由)

    介绍 uni app页面路由为框架统一管理 开发者需要在pages json里配置每个路由页面的路径和页面样式 类似的小程序在app json中配置页面路由相同 所以uni app的路由用法与Vue Router不同 如仍希望采用Vue R
  • Android12及所有版本解决没有system读写权限(只需要magisk面具)

    通过magisk挂载文件的方式来修改system 不用解锁system或挂载读写 前提条件 你要确保你已经正确刷入了Magisk 刷面具保姆级别教程 举一反三 多种手机通用 这个方法实际上就相当于刷模块来达到修改的目的 本文只是给小白普及一
  • 时间同步服务chrony的简单配置

    一 chrony服务器的简介 chrony是一个开源自由的网络时间协议 NTP 的客户端和服务器软软件 它能让计算机保持系统时钟与时钟服务器 NTP 同步 因此让你的计算机保持精确的时间 Chrony也可以作为服务端软件为其他计算机提供时间
  • vue-router安装失败

    当安装vue router遇到以下问题 npm ERR code ERESOLVE npm ERR ERESOLVE unable to resolve dependency tree npm ERR npm ERR While resol
  • 食品PC端的轮播图的文字和图片怎么修改

  • C# Winform 窗体传值 利用委托 子窗体传值给父窗体

    常用的Winform窗体传值有两种方式 1 更改Form designer cs文件 将控件的设为Public 供子窗体访问 在designer cs文件的最后 找到你的控件声明 private System Windows Forms T
  • Qt程序打包发布方法(使用官方提供的windeployqt工具)

    Qt程序打包发布方法 使用官方提供的windeployqt工具 Qt 官方开发环境使用的动态链接库方式 在发布生成的exe程序时 需要复制一大堆 dll 如果自己去复制dll 很可能丢三落四 导致exe在别的电脑里无法正常运行 因此 Qt
  • 深入浅出理解视频编码H264结构(内涵福利)

    转自 https www jianshu com p 9522c4a7818d 在国内直播 欣欣向荣 ps 其实大多都亏钱 为的就是炒概念 的年代 相信很多小伙伴也投入了技术的浩瀚大洋当中 ps 其实就是搬砖 日复一日 音 视频的神秘面纱开
  • 区块链100篇之将fabric部署在k8s上

    有了上一篇的基础 这一篇就尝试将fabric部署在k8s上 以下的操作的前提条件是自己已经对docker compose部署fabric比较熟悉了 可以先搞清楚fabricase目录下的fabric raft项目 1 修改DNS 在真正开始
  • DS证据理论浅析

    在DS证据理论中 由互不相容的基本命题 假定 组成的完备集合称为识别框架 表示对某一问题的所有可能答案 但其中只有一个答案是正确的 该框架的子集称为命题 分配给各命题的信任程度称为基本概率分配 BPA 也称m函数 M A 为对A的信任程度大
  • 绿源电动车通过聆讯:​年营收48亿 为倪捷与胡继红家族企业

    雷递网 雷建平 9月20日 绿源集团控股 开曼 有限公司 简称 绿源电动车 日前通过聆讯 准备在香港上市 这意味着时隔近一年后 绿源电动车终于拿到了上市的钥匙 年营收47 8亿 绿源电动车创建于1997年 总部位于浙江金华 绿源产品涵盖电动
  • matlab数学建模-神经网络:测试不同隐藏层神经元的个数、更改学习函数

    目录 通过误差 和训练步数对比 确定隐含层个数 并检验隐含层个数对性能的影响 1 trainlm 算法 2 traingdm 算法 3 trainrp 算法 4 traingdx 算法 5 traincgf 算法 通过误差 和训练步数对比
  • python django设计流水号生成,带访问加锁,重试

    python django设计流水号生成 带访问加锁 重试 老规矩 技术发于业务 努力从于项目 1 设计一个流水号配置表如下 流水号配置表 class BaseSerialNum BaseModel serial type models C
  • IO性能相关

    1 IO性能解决方案整理 网卡性能优化方案 绑定中断 至特定CPU 减少接口属性设置 数据包打入CPU标签 提升缓存命中 磁盘随机读写优化方案 批量读写 寻道更快 转速更高的硬盘 内存作为缓存 SSD RAID 磁盘顺序读写优化方案 RAI
  • javascript 简单高效判断数据类型 系列函数 By shawl.qiu

    javascript 简单高效判断数据类型 系列函数 By shawl qiu 说明 前段时间把 ASP VBScript 掌握得差不多的时候 就转而学习 Javascript Jscript 主要是学 Jscript 啦 不过这两者基本上