判断变量是否为数组及通用判断数据类型方法

news2024/11/24 3:48:57

判断变量是不是数组类型

 function fn() {
                console.log(Array.isArray(arguments));   //false; 因为arguments是类数组,但不是数组
                console.log(Array.isArray([1,2,3,4]));   //true
                console.log(arguments instanceof Array); //fasle
                console.log([1,2,3,4] instanceof Array); //true
                console.log(Object.prototype.toString.call(arguments)); //[object Arguments]
                console.log(Object.prototype.toString.call([1,2,3,4])); //[object Array]
                console.log(arguments.constructor === Array); //false
                arguments.constructor = Array;
                console.log(arguments.constructor === Array); //true
                console.log(Array.isArray(arguments));        //false
            }
            fn(1,2,3,4);

通用判断数据类型方法
Object.prototype.toString.call()所有原始数据类型都能通过该方法判断,具有通用性

				Object.prototype.toString.call(arr); // "[object Array]"
                Object.prototype.toString.call(2); // "[object Number]"
                Object.prototype.toString.call(""); // "[object String]"
                Object.prototype.toString.call(true); // "[object Boolean]"
                Object.prototype.toString.call(undefined); // "[object Undefined]"
                Object.prototype.toString.call(null); // "[object Null]"
                Object.prototype.toString.call(Math); // "[object Math]"
                Object.prototype.toString.call({}); // "[object Object]"
                Object.prototype.toString.call([]); // "[object Array]"
                Object.prototype.toString.call(function () {}); // "[object Function]"
            }
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>判断变量是否为数组方法</title>
    <script type="text/javascript">
            window.onload = function () {
            function fn() {
                console.log(Array.isArray(arguments));   //false; 因为arguments是类数组,但不是数组
                console.log(Array.isArray([1,2,3,4]));   //true
                console.log(arguments instanceof Array); //fasle
                console.log([1,2,3,4] instanceof Array); //true
                console.log(Object.prototype.toString.call(arguments)); //[object Arguments]
                console.log(Object.prototype.toString.call([1,2,3,4])); //[object Array]
                console.log(arguments.constructor === Array); //false
                arguments.constructor = Array;
                console.log(arguments.constructor === Array); //true
                console.log(Array.isArray(arguments));        //false
            }
            fn(1,2,3,4);

            //Object.prototype.toString.call()所有原始数据类型都能通过该方法判断,具有通用性
                Object.prototype.toString.call(arr); // "[object Array]"
                Object.prototype.toString.call(2); // "[object Number]"
                Object.prototype.toString.call(""); // "[object String]"
                Object.prototype.toString.call(true); // "[object Boolean]"
                Object.prototype.toString.call(undefined); // "[object Undefined]"
                Object.prototype.toString.call(null); // "[object Null]"
                Object.prototype.toString.call(Math); // "[object Math]"
                Object.prototype.toString.call({}); // "[object Object]"
                Object.prototype.toString.call([]); // "[object Array]"
                Object.prototype.toString.call(function () {}); // "[object Function]"
            }
    </script>
</head>
<body>
</body>
</html>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/116745.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python中利用tkinter和ImageTK进行圣诞快乐图片的显示

一、前言 python中使用tkinter加载“Merry Christmas“ 图片。 二、用python显示Merry Christmas图片 1. python中&#xff0c;tkinter中可以进行图形界面编程。tkinter库提供了各种控件&#xff0c;其中&#xff0c;可以使用PhotoImage和Label组合&#xff0c;进行“Merry Chr…

【树莓派不吃灰】网络篇 Tcpdump iptables

目录1、一台主机上只能保持最多 65535 个 TCP 连接吗&#xff1f;2、tcpdump3、iptables❤️ 博客主页 单片机菜鸟哥&#xff0c;一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2022-12-26 ❤️❤️ 本篇更新记录 2022-12-26 ❤️&#x1f389; 欢迎关注 &#x1f50e;点…

RT-Thread 学习笔记(十四)--- 开启基于RTGUI的LCD显示功能(4)<demo组件的按键响应和焦点支持>

软件环境&#xff1a;Win7&#xff0c;Keil MDK 4.72a, IAR EWARM 7.2, GCC 4.2&#xff0c;Python 2.7 ,SCons 2.3.2 硬件环境&#xff1a;Armfly STM32F103ZE-EK v3.0开发板 参考文章&#xff1a;RT-Thread编程指南 RT-Thread_1.2.0lwiprtgui0.8.0 移植心得 RT-Thread RT…

2022/12/26 请你谈谈数据库事务机制?

1 事务四大特征 一般来说&#xff0c;事务是必须满足4个条件&#xff08;ACID&#xff09;&#xff1a;原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&#xff09;、隔离性&#xff08;Isolation&#xff09;、持久性&#xff08;Durability&#…

软件测试工程职场发展细谈

前言 今天几个测试圈子的大佬约了饭局&#xff0c;席间彼此交流了很多关于职场工作上测试相关的话题&#xff0c;听了他们的一些观点很有启发&#xff0c;我自己对于聊的话题也做了一些描述和实际的案例说明。下面是聊的一些关键话题&#xff0c;我将交流的内容和个人观点整理…

(二)JavaScript

JavaScript 是一门跨平台、面向对象的脚本语言。JavaScript 是用来控制网页行为的&#xff0c;它能使网页可交互。 一、JavaScript 引入方式&#xff08;P71&#xff09; &#xff08;1&#xff09;内部脚本&#xff1a;将JS代码定义在HTML页面中 &#xff08;2&#xff09;外部…

ActiveMQ集群模式

目录 一、面试题 二、多节点集群是什么 三、zookeeperreplicated-leveldb-store的主从集群 四、官网集群原理图 五、部署规划和步骤 六、集群可用性测试 一、面试题 引入消息队列之后该如何保证其高可用性 二、多节点集群是什么 基于ZooKeeper和LevelDB搭建ActiveMQ 集…

API签名鉴权设计

鉴权作用 在实际的业务中&#xff0c;必然会存在和其他平台系统进行数据传输。这个时候出于对数据的保密要求&#xff0c;都会对接口&#xff08;API&#xff09;添加鉴权机制&#xff0c;识别调用方的真实身份&#xff0c;对未通过鉴权的请求不做任何业务处理&#xff0c;以帮…

国科大模式识别导论作业3:神经网络

目录题目代码data.pyutils.pynetwork.pymain.py结果整理一下近期作业中的编程题&#xff0c;仅供交流学习题目 本题使用的数据如下&#xff1a; 第一类 10 个样本&#xff08;三维空间&#xff09;&#xff1a; [ 1.58, 2.32, -5.8], [ 0.67, 1.58, -4.78], [ 1.04, 1.01, -3…

OpenCV 图像旋转、平移、缩放

本文是 OpenCV图像视觉入门之路的第7篇文章&#xff0c;本文详细的进行了图像的缩放 cv2.resize()、旋转 cv2.flip()、平移 cv2.warpAffine()等操作。 OpenCV 图像旋转、平移、缩放目录 1 缩放图片 2 翻转图片 2.1 垂直翻转 2.2 水平翻转 2.3 水平垂直翻转 ​编辑 3 平移…

百度离线人脸识别SDK

1&#xff0c;采坑备忘 &#xff08;1&#xff09;8.1版本的SDK在spring-boot接口访问第一次正常&#xff0c;第二次之后JVM会奔溃&#xff0c;可能是java gc 处理C开出的内存有问题。 换6.1.3版本的SDK。 javaWindows百度离线人脸识别SDK6.1.3-Java文档类资源-CSDN下载javaW…

Harmony/OpenHarmony应用开发-转场动画页面间转场

在全局pageTransition方法内配置页面入场和页面退场时的自定义转场动效。 说明&#xff1a;从API Version 7开始支持。开发语言ets. 名称 参数 参数描述 PageTransitionEnter { type: RouteType, duration: number, curve: Curve | string, delay: number } 设置当前页面…

1998-2014年企业绿色发展数据库

1998-2014年工业企业的排放排污和环境治理等信息数据 1、时间&#xff1a;1998-2014年 2、数据来源&#xff1a;原环保部。 3、统计字段&#xff1a;主要有企业基本信息、生产信息、水环境、大气环境&#xff0c;内容涵盖了资源利用类指标&#xff08;工业用水量、煤炭消费量…

YGG 与 Thirdverse 达成合作,将《足球小将》IP 带入 Web3

YGG 与 Thirdverse 建立了合作关系&#xff0c;Thirdverse 是一家专注于多人 VR 和 Web3 游戏的游戏工作室&#xff0c;在日本和美国分别设有办事处。 YGG 通过购买未来股权的简单协议&#xff08;SAFE&#xff09;参与了 Thirdverse 近期的 1500 万美元融资。这种合作关系将使…

FastAPI从入门到实战(16)——依赖项

依赖注入是耳熟能详的一个词了&#xff0c;听起来很复杂&#xff0c;实际上并没那么复杂&#xff0c;正常的访问需要接受各种参数来构造一个对象&#xff0c;依赖注入就变成了只接收一个实例化对象&#xff0c;主要用于共享业务逻辑、共享数据库连接、实现安全、验证、权限等相…

原油投资怎么样赚钱?原油投资赚钱技巧有哪些?

以前没有交易过原油的投资者&#xff0c;看到其他投资者从中获得了较好的盈利&#xff0c;也想通过原油投资来赚钱。那么原油投资到底能不能赚钱&#xff0c;是很多新手投资者比较想了解的问题。其实原油投资想盈利并不能全部依靠运气&#xff0c;只有掌握了原油投资赚钱技巧&a…

【Java基础】Java日志—什么是日志级别?如何配置数据源到不同的位置?配置文件内容都是什么含义?

目录 一、log4j1详情&#xff1a;记录器和日志级别 二、 log4j1详情&#xff1a;输出源【输出到不同的位置】 1、ConsoleAppender【将日志输出到控制台】 2、FileAppender【将日志输出到文件】 3、DailyRollingFileAppender【每日输出到一个新文件】 4、JDBCAppender【输…

FineReport开源报表系统-JS实现切换Tab块时进行数据联动

1. 概述 1.1 预期效果 在决策报表中&#xff0c;希望 Tab 块轮播切换时&#xff0c;可实现与报表块的数据联动。如下图所示&#xff1a; 1.2 实现思路 通过 JS 获取每个 Tab 块的轮播标题&#xff0c;转换为参数值&#xff0c;再通过控件进行界面传参&#xff0c;实现联动效果…

程序员工作五年后一般会怎样?

最近看到一些吐血言论“一个程序员工作5年后还没成为大牛&#xff0c;是不是该考虑别的路子了&#xff1f;”还有“程序员入行五年&#xff0c;有可能攒够80吗&#xff1f;”不是&#xff0c;程序员工作五年&#xff0c;是戳中了谁的痛点吗&#xff1f;&#xff1f;大家对五年经…

128页4万字某智慧能源集团数字化管理平台项目建议书

【版权声明】本资料来源网络&#xff0c;仅用于行业知识分享&#xff0c;供个人学习参考&#xff0c;请勿商用。【侵删致歉】如有侵权请联系小编&#xff0c;将在收到信息后第一时间进行删除&#xff01;完整资料领取见文末&#xff0c;部分资料内容&#xff1a; 方案设计 在当…