判断一个变量的具体类型 的终极方案
本文 立志 用 typeof 和 instanceof 判断任意变量的 数据类型;
分析 代码如下:
console.log('---------------instanceof--------------'); console.log(new Object() instanceof Object); // true console.log(new Array() instanceof Array); // true console.log(new Number() instanceof Number); // true console.log(3 instanceof Number); // false console.log(new Function() instanceof Object); // true console.log(new Boolean() instanceof Object); // true console.log(new String() instanceof Object); // true console.log(undefined instanceof Object); // false console.log(null instanceof Object); // false console.log(NaN instanceof Object); // false console.log('-------------typeof----------------'); console.log(typeof 100); // 'number' console.log(typeof '100'); // 'string' console.log(typeof true); // 'boolean' console.log(typeof function A(){}); // 'function' console.log(typeof undefined); // 'undefined' console.log(typeof new Object()); // 'object' console.log(typeof [1,2]); // 'object' console.log(typeof null); // 'object' console.log(typeof NaN); // 'number' console.log(NaN === NaN); // 'number' console.log(typeof Infinity); // 'number' console.log(Infinity === Infinity); // 'true' console.log(true === 1); // 'false' console.log('-----------------------------'); /* 所以有了下边的 到底如何判断 一个变量 到底是什么数据类型 方法 总结: */ var a = NaN; // a 为变量 可以是任意类型的变量 if(typeof a === 'string' ){ console.log('这是一个 字符串') } if(typeof a === 'number' && a !== a) { console.log('这是 NaN') } if(typeof a === 'number' && a === a) { console.log('这是一个 数值') } if(typeof a === 'boolean'){ console.log('这是一个 boolean 值') } if(typeof a === 'function'){ console.log('这是一个 function') } if(typeof a === 'undefined'){ console.log('这是 undefined') } if(typeof a === 'object' && a instanceof Array ){ console.log('这是一个 数组') } if(typeof a === 'object' && a instanceof Object && a instanceof Array === false){ console.log('这是一个 对象') } if(typeof a === 'object' && a instanceof Object === false){ console.log('这是 null') }
上边的代码 可作为,理解分析使用,要想取得终极方法,需自己动手 将代码最后的方法封装一下;
本文来自博客园,作者:驸马爷,转载请注明原文链接:https://www.cnblogs.com/cnblogs-jcy/p/8714470.html
分类:
JavaScript 基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)