学习
实践
活动
专区
工具
TVP
写文章

JavaScript中的类型判断

前言 类型判断在 web 开发中有非常广泛的应用,简单的有判断数字还是字符串,进阶一点的有判断数组还是对象,再进阶一点的有判断日期、正则、错误类型,再再进阶一点还有比如判断 plainObject、空对象 那我们都知道,在 ES6 前,JavaScript 共六种数据类型,分别是: Undefined、Null、Boolean、Number、String、Object 然而当我们使用 typeof 对这些数据类型的值进行操作的时候 ,比如 isFunction: function isFunction(obj) { return type(obj) === "function";} 数组 jQuery 判断数组类型,旧版本是通过判断 之所以要判断是不是 plainObject,是为了跟其他的 JavaScript对象如 null,数组,宿主对象(documents)等作区分,因为这些用 typeof 都会返回object。 Window对象 Window 对象作为客户端 JavaScript 的全局对象,它有一个 window 属性指向自身,这点在《JavaScript深入之变量对象》中讲到过。

51930
  • 广告
    关闭

    2023新春采购节

    领8888元新春采购礼包,抢爆款2核2G云服务器95元/年起,个人开发者加享折上折

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JavaScript数据类型判断

    JavaScript数据类型判断 1. typeof 使用typeof判断数据类型 console.log(typeof 1) //number console.log(typeof NaN) // 其实 iframe 之间不会共享原型链, 因为他们有独立的执行环境, 所以 frame a 中的数组 a 不会是本执行环境的实例对象. 3. constructor 使用构造函数判断类型: var bool undefined和null 使用constructor判断类型是不安全的,因为contructor的指向是可以改变的 arr.constructor = Object console.log(arr.constructor Array.isArray([1, 2, 3]); 判断是否是 DOM 元素 在实际项目里面, 有时或许我们需要判断是否是 DOM 元素对象, 那么在判断的时候利用的是 DOM 对象特有的 nodeType 判断是否是 arguments 对象 判断一个对象是不是 arguments 对象可以通过 Object.prototype.toString 来判断, 但是低版本的浏览器不支持, 他们返回的是 [object

    24220

    JavaScript的数据类型判断

    最近自己回归基础看了下javascript的相关知识点,想着看都看了,写出来记录下足迹也是一件好事,遂记录~ 在javascript中有两种类型,一种是基本数据类型,一种是引用类型。 console.log('my name is jia ming'); } console.log(s1.toString()); // my name is jia ming 复制代码 嗯~苦口婆心介绍了javascript 数据类型判断 数据类型有上面的7种类型,其中基本类型是Undefined、Null、Boolean、Number、String和Symbol,还有一种引用类型。 height); // number console.log(typeof job); // undefined console.log(typeof obj); // object 嗯~很ok啦,对基本的数据类型都能判断到啦 这里就不考虑了~ 后话 文章首发:github.com/reng99/blog… 更多内容:github.com/reng99/blog… 参考 《JavaScript高级程序设计》 阮一峰 ECMAScript

    41030

    JavaScript类型判断的四种方法

    本文作者分享了JavaScript类型判断的四种方法:1.typeof、2.instance of、3.Object.prototype.toString.call()、4.constructor,希望对你有所帮助 作者:佑耳 原文:https://juejin.im/post/5ef0b80af265da02cd3b84f3 JavaScript数据类型 JavaScript有八种内置类型,除对象外,其他统称为“ BigInt:是 ES2020 引入的一种新的数据类型,用来解决 JavaScript中数字只能到 53 个二进制位(JavaScript 所有数字都保存成 64 位浮点数,大于这个范围的整数,无法精确表示的问题 typeof原理是不同的对象在底层都表示为二进制,在Javascript中二进制前(低)三位存储其类型信息。 注意,instanceof可以准确的判断复杂数据类型,但是不能正确判断基本数据类型 console.log(12 instanceof Number) // false console.log('22

    57010

    关于 JavaScript 的 null 和 undefined,判断 null 的真实类型

    null === undefined 会返回 false; Undefined 和 Null 是 Javascript 中两种特殊的原始数据类型(Primary Type),它们都只有一个值,分别对应 null 有属于自己的类型 Null,而不属于Object类型,typeof 之所以会判定为 Object 类型,是因为JavaScript 数据类型在底层都是以二进制的形式表示的,二进制的前三位为 0 会被 typeof 判断为对象类型,而 null 的二进制位恰好都是 0 ,因此,null 被误判断为 Object 类型 3. 判断 null、undefined 数据类型 获取 null 的真实类型: 1 Object.prototype.toString.call(null); // [object Null] 通过 Object 原型上的 toString() 方法可以获取到JavaScript 中对象的真实数据类型 当然 undefined 类型也可以通过这种方式来获取: 1 // 要知道,使用 typeof 就可以鉴别 undefined

    41120

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 人脸核身

      人脸核身

      腾讯云慧眼人脸核身(原金融级身份认证升级版)是一组对用户身份信息真实性进行验证审核的服务套件,提供各类认证功能模块,包含证件OCR识别、活体检测、人脸1:1对比、及各类要素信息核验能力,以解决行业内大量对用户身份信息核实的需求,广泛应用于金融、保险、政务民生、互联网、交通出行等领域。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券