前端判断: []+[], []+{}, {}+[], {}+{}
本质: 二元操作符+规则
一般判断规则:
- 如果操作数是对象,则对象会转换为原始值
- 如果其中一个操作数是字符串的话,另一个操作数也会转换成字符串,进行字符串拼接
- 否则,两个操作数都将转换成数字或NaN,进行加法操作
转为原始数据类型的值的方法:
- Symbol.ToPrimitive
- Object.prototype.valueOf
- Object.prototype.toString
一. []的原值
- typeof [][Symbol.ToPrimitive] // undefined
- [].valueOf() // []
- [].toString() // ‘’
所以[] + [] 就相当于 ''+'', 得到的是空字符串''
二.{}的原始值
- typeof {}[Symbol.ToPrimitive] // undefined
- ({}).valueOf() // {}
- ({}).toString() // '[object Object]'
注意事项: {}+xx需要看成{};+xx才是得到和控制台一样的值
比如:
({} + []) 相当于是'[object Object]' + '', 得到的是'[object Object]'
{} + [] 相当于{}; + [], 分号说明语句结束了,所以要往后看,而+号本身有隐式转换数字的功能, 所以+[]等于0
同理:
({} + {})是'[object Object][object Object]'
而{} + {}相当于{}; + {},相当于只需要看+{}, {}的原始值是'[object Object]',隐式转换'[object Object]'为数字,'[object Object]'无法转换为正常数字,所以变成NaN
因此:
[] + ???就相当于([] + ???)
而{}的+运算特殊一些:
{} + ??? 相当于 +???转换为数字, 得到0或者NaN
({} + ???) 相当于分别得到{}的原始值和???的原始值, 即('[object Object]' +???的原始值)
综上所述:
[]+[] =>得到 ''
[]+{} =>得到 '[object Object]'
{} + [] =>得到 0
{} + {} => 得到NaN
相关文章:
前端判断: []+[], []+{}, {}+[], {}+{}
本质: 二元操作符规则 一般判断规则: 如果操作数是对象,则对象会转换为原始值如果其中一个操作数是字符串的话,另一个操作数也会转换成字符串,进行字符串拼接否则,两个操作数都将转换成数字或NaN,进行加法操作 转为原始数据类型的值的方法: Symbol.ToPrimitiveObject.protot…...
el-input-number/el-input 实现实时输入数字转换千分位(失焦时展示千分位)
el-input-number/el-input 实现实时输入数字转换千分位(失焦时展示千分位) 我把封装指令的代码放在了main.js,代码如下 // 金额展示千分位 Vue.directive("thousands", {inserted: function(el, binding) {// debugger// 获取input节点if (el.tagName.toLocaleUppe…...
一篇博客学会系列(2)—— C语言中的自定义类型 :结构体、位段、枚举、联合体
目录 前言 1、结构体 1.1、结构体类型的声明 1.2、特殊的结构体类型声明 1.3、结构体的自引用 1.4、结构体的定义和初始化 1.5、结构体成员变量的调用 1.6、结构体内存对齐 1.6.1、offsetof 1.6.2、结构体大小的计算 1.6.3、为什么存在内存对齐? 1.7、…...
KongA 任意用户登录漏洞分析
KongA 简介 KongA 介绍 KongA 是 Kong 的一个 GUI 工具。GitHub 地址是 https://github.com/pantsel/konga 。 KongA 概述 KongA 带来的一个最大的便利就是可以很好地通过UI观察到现在 Kong 的所有的配置,并且可以对于管理 Kong 节点 漏洞成因 未设置TOKEN_SECRE…...
吉力宝:智能科技鞋品牌步力宝引领传统产业创新思维
在现代经济环境下,市场经济下产品的竞争非常的激烈,如果没有营销,产品很可能不被大众认可,酒香也怕巷子深,许多传统产业不得不面临前所未有的挑战。而为了冲出这个“巷子”,许多企业需要采用创新思维&#…...
【IPC 通信】信号处理接口 Signal API(1)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。 信号概述 遵循 POSIX.1,…...
使用GDIView排查GDI对象泄漏导致的程序UI界面绘制异常问题
目录 1、问题说明 2、初步分析 3、查看任务管理器,并使用GDIView工具分析 4、GDIView可能对Win10兼容性不好,显示的GDI对象个数不太准确 5、采用历史版本比对法,确定初次出现问题的时间点,并查看前一天的代码修改记录 6、将…...
蓝桥等考Python组别一级001
第一部分:选择题 1、Python L1 (15分) 下面哪个不是Python的编程环境?( ) Python在线编程IDLEPyCharmScratch正确答案:D 2、Python L1(15分) 世界上第一台通用电子计算机ENIAC是在( )诞生的。 美国英国日本德国正确答案:A 3、Python L1(20分) 关于P…...
Unity之Hololens2开发 如何接入的MRTK OpenXR Plugin
一.前言 什么是Hololens? Hololens是由微软开发的一款混合现实头戴式设备,它将虚拟内容与现实世界相结合,为用户提供了沉浸式的AR体验。Hololens通过内置的传感器和摄像头,能够感知用户的环境,并在用户的视野中显示虚拟对象。这使得用户可以与虚拟内容进行互动,将数字信…...
Ubuntu系统Linux内核安装和使用
安装: 检查树莓派Linux版本,我的是6.1 uname -r 内核下载链接: Raspberry Pi GitHub 找对应版本下载 导入之后,解压安装即可 unzip linux-rpi-6.1.y.zip 其他内容 treee 指令安装 sudo apt-get install tree 使用这…...
数学术语之源——群同态的“核(kernel)”
1. “kernel”这个术语在群论中的起源 Ivar Fredholm 在 1903 年的第27期Acta Math 数学学报发表的一篇关于“积分方程(INTEGRAL EQUATIONS)”的著名论文(“关于一类函数方程(Sur une classe des quations fonctionnelles)”)中使用了法语“noyau(核)”(365-390页)。 David …...
defcon-quals 2023 crackme.tscript.dso wp
将dso文件放到data/ExampleModule目录下,编辑ExampleModule.tscript文件 function ExampleModule::onCreate(%this) { trace(true); exec("./crackme"); __main("aaaaaaaa"); quit(); } 然后点击主目录下的Torque3D-debug.bat就可以在生成的c…...
前端开发 vs. 后端开发:编程之路的选择
文章目录 前端开发:用户界面的创造者1. HTML/CSS/JavaScript:2. 用户体验设计:3. 响应式设计:4. 前端框架: 后端开发:数据和逻辑的构建者1. 服务器端编程:2. 数据库:3. 安全性&#…...
算法练习4——删除有序数组中的重复项 II
LeetCode 80 删除有序数组中的重复项 II 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 …...
【C++进阶(六)】STL大法--栈和队列深度剖析优先级队列适配器原理
💓博主CSDN主页:杭电码农-NEO💓 ⏩专栏分类:C从入门到精通⏪ 🚚代码仓库:NEO的学习日记🚚 🌹关注我🫵带你学习C 🔝🔝 栈和队列 1. 前言2. 栈和队列的接口函数熟悉3. …...
linux opensuse使用mtk烧录工具flashtool
环境 linux发行版:opensuse leap 15.5 工具:SP_Flash_Tool_Selector_exe_Linux_v1.2316.00.100.rar 或其他版本 目标:mtk设备 下载链接 https://download.csdn.net/download/zmlovelx/88382784 或网络搜索。 使用 opensuse可直接解压后使…...
Visio如何对文本打下标、上标,以及插入公式编辑器等问题(已解决)
解决这个问题的本质问题,就是在Visio中插入公式编辑器(这不是visio的常用命令,需要添加)。 打开Visio--》文件--选项 点击选项,弹出对话框。在自定义功能区中,点击 常用命令,在下拉选项中&#…...
快速将iPhone大量照片快速传输到电脑的办法!
很多使用iPhone 的朋友要将照片传到电脑时,第一时间都只想到用iTunes 或iCloud,但这2个工具真的都非常难用,今天小编分享牛学长苹果数据管理工具的照片传输功能,他可以快速的将iPhone照片传输到电脑上,并且支持最新的i…...
TCP/IP协议簇包含的协议
应用层(Application Layer): HTTP(Hypertext Transfer Protocol):用于Web浏览器和Web服务器之间的通信。HTTPS(Hypertext Transfer Protocol Secure):安全的HTTP版本&…...
天地图绘制区域图层
背景: 业务方要求将 原效果图 参考效果图 最终实现效果 变更点: 1.将原有的高德地图改为天地图 2.呈现形式修改:加两层遮罩:半透明遮罩层mask区域覆盖物mask 实现过程: 1.更换地图引入源 <link rel"style…...
PlugY:暗黑2单机玩家必备的生存工具包,开启无限可能游戏体验 [特殊字符]
PlugY:暗黑2单机玩家必备的生存工具包,开启无限可能游戏体验 🔥 【免费下载链接】PlugY PlugY, The Survival Kit - Plug-in for Diablo II Lord of Destruction 项目地址: https://gitcode.com/gh_mirrors/pl/PlugY 还在为暗黑破坏神…...
Ghidra二进制分析工具新手指南:从安装到高效逆向实践
Ghidra二进制分析工具新手指南:从安装到高效逆向实践 【免费下载链接】ghidra_installer Helper scripts to set up OpenJDK 11 and scale Ghidra for 4K on Ubuntu 18.04 / 18.10 项目地址: https://gitcode.com/gh_mirrors/gh/ghidra_installer 工具定位&a…...
Java 17 新特性实战:现代 Java 开发的优雅实践
Java 17 新特性实战:现代 Java 开发的优雅实践 前言 大家好。最近很多读者朋友询问 Java 17 的新特性以及如何在项目中应用这些特性。作为一个长期使用 Java 的架构师,今天我想分享一下 Java 17 的新特性以及在实际项目中的应用经验。 Java 17 的核心新特…...
Matlab粒子动画:3D爱心生成与动态模拟
1. 从零开始理解Matlab粒子动画 第一次看到3D爱心在屏幕上跳动时,那种震撼感至今难忘。作为理工科学生,我们常常用Matlab处理枯燥的数据,但很少有人知道它还能创作出如此浪漫的视觉效果。这就像用计算器弹钢琴——工具本身没有情感࿰…...
实战指南:如何用FAISS和GPT-4o-mini构建高效RAG系统(附开源代码)
实战指南:如何用FAISS和GPT-4o-mini构建高效RAG系统(附开源代码) 在人工智能领域,检索增强生成(RAG)技术正迅速成为连接大型语言模型与专业知识的桥梁。不同于传统LLM仅依赖预训练知识,RAG系统通…...
3步突破设备壁垒:让VR内容在普通显示器上重生的开源方案
3步突破设备壁垒:让VR内容在普通显示器上重生的开源方案 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.com/gh_…...
Python服务内存持续增长?5个被忽略的__del__陷阱+3种RAII式资源封装模板,今天必须修复!
第一章:Python服务内存持续增长的智能体诊断全景图Python服务在长期运行中出现内存持续增长,是生产环境中高频且隐蔽的稳定性风险。传统人工排查依赖经验与断点调试,难以覆盖异步任务、闭包引用、第三方库缓存等复杂场景。本章构建一个面向可…...
【windows】VirtualBox网络配置及实战-Host Only 仅主机模式
1.概述 仅 主 机 网 络 : 用 来 创 建 一 个 包 含 主 日 一 组 虚拟机的 网 络 , 而 不 需 要 主 机 的 物 理 网 络 接 口 .相反 ,在虚拟机上创建了一个类似于环回接口的虚拟网络接口。提 供 虚 似 机 和 主 机 之 间 的 连 接 …...
基于Vue的博物馆智能导览系统[vue]-计算机毕业设计源码+LW文档
摘要:本文介绍了一款基于Vue框架开发的博物馆智能导览系统。系统旨在利用现代Web技术提升参观者在博物馆中的体验,通过提供便捷的博物馆信息查询、个性化的导览路线规划等功能,满足不同用户的需求。本文详细阐述了系统的开发背景、相关技术、…...
LabVIEW标准表法开发气体流量标准装置
标准表法是气体流量计检定校准的主流方法,针对气体流量检测过程中自动化程度低、数据采集精度不足、设备控制协同性差的问题,依托 LabVIEW 图形化编程平台搭建气体流量标准装置应用系统,实现温度、压力、流量等参数的自动化采集、设备精准调控…...
