【原生】封装一个判断数据类型的函数的方法,准确判断一个数据的类型
// 判断一个数据类型的函数封装的方法,obj是用来接收传入的参数的function gettype(obj) {var type = typeof obj;if (type !== 'object') {return type;}//如果不是object类型的数据,直接用typeof就能判断出来//如果是object类型数据,准确判断类型必须使用Object.prototype.toString.call(obj)的方式才能判断return Object.prototype.toString.call(obj).replace(/^\[object (\S+)\]$/, '$1'); //.replace(/^\[object (\S+)\]$/, '$1'); 主要是把 第一个对象去掉}
HTML文件实例
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>判断一个数据类型</title>
</head><body><h1>判断一个数据类型 </h1><h3>Object.prototype.toString.call(obj)</h3><script>// 分别输入测试var undf;var a = []; //数组var b = "474"; //字符var c = new Object(); //对象var d = new Number(6) //数字var e = NaN //非数字,但是是数据类型var d=function(){};var f=Symbol("key") ;var g=null;var i=undefined;// 判断一个数据类型的函数封装的方法,obj是用来接收传入的参数的function gettype(obj) {var type = typeof obj;if (type !== 'object') {return type;}//如果不是object类型的数据,直接用typeof就能判断出来//如果是object类型数据,准确判断类型必须使用Object.prototype.toString.call(obj)的方式才能判断return Object.prototype.toString.call(obj).replace(/^\[object (\S+)\]$/, '$1');//.replace(/^\[object (\S+)\]$/, '$1'); 主要是把 第一个对象去掉}console.log(gettype(a));console.log(gettype(b));console.log(gettype(c));console.log(gettype(e));console.log(gettype(d));console.log(gettype(f));console.log(gettype(g));console.log(gettype(i));// /function type(target) {var ret = typeof (target);var template = {//包装类、对象、数组"[object Number]": "number - object","[object String]": "string - object","[object Boolean]": "boolean - object","[object Object]": "object","[object Array]": "array"}//找出 nullif (target === null) {return null;}if (ret == "object") {var str = Object.prototype.toString.call(target);return template[str];} else {//原始值 和 functionreturn ret;}}console.log(11111111111111111111111111111111111111111)console.log(type(a));console.log(type(b));console.log(type(c));console.log(type(e));console.log(type(d));console.log(type(f));console.log(type(g));console.log(type(i));</script>
</body></html>
转载于:https://www.cnblogs.com/yuanjili666/p/11613257.html
【原生】封装一个判断数据类型的函数的方法,准确判断一个数据的类型相关推荐
- js封装一个判断数据类型的函数
一.写在前面 今天看到一道面试题--用js手写一个判断数据类型的函数.然后我首先想到的就是通过if....else if .....else if...,但是这样写就会给面试官感觉特别Low.那我们来 ...
- Python 判断数据类型的函数
#Python 判断数据类型的函数 可使用内置函数 isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type(). 举例1 >>>arg=1234567 &g ...
- python判断数据类型是不是字典的方法
这篇文章主要介绍python判断数据类型是不是字典的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! python的数据类型有:数字(int).浮点(float).字符串(s ...
- 分段函数返回字符c语言,C++对cin输入字符的判断及分段函数处理方法示例
本文实例讲述了C++对cin输入字符的判断及分段函数处理方法.分享给大家供大家参考,具体如下: 这两个本来也不是什么问题,然而真正遇到还是有地方可以研究的.首先是C++对于cin输入的判断,有时候你定 ...
- 判断数据类型的5种方法
1. typeof 可以判断数据类型,它返回表示数据类型的字符串(返回结果只能包括number,boolean,string,function,object,undefined): 可以使用typeo ...
- JS判断数据类型的5种方法
我们先来了解一下JS中数据类型有哪些 基本数据类型(值类型):String.Number.boolean.null.undefined.symbol(es6新增的) 引用数据类型 (引用类型):obj ...
- GCC 编译时优化某一个或几个函数或者不优化某一个或几个函数
有的时候我们会有这样的需求:不想让编译器优化某一个或几个函数.针对某一个或几个函数做设置特殊的优化等级. 以下有三种方法: __attribute((optimize("STRING&quo ...
- js 判断数据类型的四种方法
1,typeof typeof 返回的数据类型有 undefined boolean (true,false) string symbol number function object 注意 typ ...
- java定义苹果类Apple_定义一个水果接口Fruit,里面定义一个表示吃水果的eat方法。定义一个苹果类Apple和一个橘子...
importjava.util.Scanner;interfaceFruit{publicvoideat();//创建一个Fruit接口,里面包含一个eat方法}classAppleimplement ...
最新文章
- 百度某员工哀叹:身边的混子太多,坚持了一年,简直浪费生命!
- 【通知】有三AI新手入门群开放,欢迎新手们来加入
- iOS之深入解析Cocoapods的工作原理与源码分析
- 给指定的某个commit号加tag并推送
- 回击华为!高通:支持Sub-6GHz和毫米波双频段的5G基带才是真5G
- Jonit Bayesian 的推导
- Android内容提供者(读取手机联系人信息)
- 什么是基金转换?转换费用如何收取?
- UEditor编辑器保存数据到数据库
- 基础回顾:测井曲线划分油、气、水层
- unity简单的脚本 播放3D立体音效(近大远小效果)
- 青山绿水 峡谷奇观---野三坡之行(转)
- easyPOI和导入复杂excel的各种坑
- CStdioFile 追加文件内容
- Bootstrap 徽章
- 03-sketch基本工具使用
- Mellanox 网卡固件升级
- 21年浙江工业大学计算机考研经验帖
- 【奇巧淫技】python 助你每天早上八点自动发送天气预报邮件到QQ邮箱
- 怎样成为一名优秀的系统集成工程师
热门文章
- apue.h头文件内容
- Android NDK开发之 NEON使用介绍
- 2022考研计算机-数据库原理教程1-7章
- java中对于框架的理解_接触Java项目一周后对一些基本框架的理解 | 学步园
- 如何使用ant_从 0 开始,成为 Ant-Design Contributor
- kafka 主从同步入门
- flume hdfs sink 文件滚动策略
- AttributeError:type object ‘TFLiteConverterV2 ‘has no attribute ‘form_keras_model_file ‘
- 利用nginx+lua+redis实现反向代理方法教程
- 网络专业人员需要了解的物联网信息