分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

js类型判断

发布时间:2023-09-06 02:34责任编辑:熊小新关键词:js

因为JS的arguments是弱类型的。所以多数场合下,对于arguments进行判断,然后针对不同类型进行不同处理(类似Java的重载)。

JS语言中数据类型共有6种,5种基本数据类型:Unfined, Null, Boolean, Number, String,还有特殊类型Object。

判断方法有很多,这里列举三个: typeof, instanceof, Object.prototype.toString.call()。下面分别说明其用途:

1. typeof

  用的最频繁的一种判断方式,适用于基本类型和函数判断。不适用于Object类型的进一步判断。

  

  补充:

  1. 当变量不存在时,if (variable) 会抛出异常,而 typeof variable === ‘undefined‘则适用
  2. typeof NaN 为 "number",针对NaN需要进一步结合 isNaN()来判断

 2. instanceof

  a instanceof b: 判断b是否是a的原型,返回 true / false

  适用于引用类型的进一步判断。 

var a = [];//针对array的检测console.log(a instanceof Array); //trueconsole.log(a instanceof Object); //true,因为Array是Object子集

  进一步的了解,可以参考https://www.cnblogs.com/Trr-984688199/p/6180040.html。

 3. Object.prototype.toString.call()

var a = [1, 2];Object.prototype.toString.call(a); ????// "[object Array]"a = {};Object.prototype.toString.call(a); ?  // "[object Object]"a = "123";Object.prototype.toString.call(a); ?  // "[object String]"a = 1;Object.prototype.toString.call(a); ?  // "[object Number]"a = true;Object.prototype.toString.call(a); ?  // "[object Boolean]"a = function() {};Object.prototype.toString.call(a); ?  // "[object Function]"

 4. 其他 

  • Array.isArray: 用于确定传递的值是否是一个 Array, 返回true / false

  

  

js类型判断

原文地址:https://www.cnblogs.com/wilfredo/p/10489142.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved