js中null和undefined的区别
js中null和undefined的区别?这也是一个常见的js面试题
相同点
1,都是基本类型。
2,做判断值都是false。
!!null === false // true
!!undefined === false // true
不同点
1,诞生时间null在前,undefined在后。因为js作者Brendan-Eich在创造js语言时,直接抄了java很多东西。也包括null,后期发现js中的null有缺陷,又创造了undefined。(《JavaScript高级程序设计》中有说,下面的不同点就包含null缺点)
2,typeof 类型不同
typeof null; // 'object'
typeof undefined; // 'undefined'
3,Number() 转数字也不同
Number(null); // 0
Number(undefined); // NaN (Not a Number,非数)是计算机科学中数值数据类型的一类值,表示未定义或不可表示的值。
4,前端开发中出现的时机不同
(1) null 触发null的时机
// 举例// 获取不存在的dom
document.getElementById("233") // null// 获取不存在的储存
localStorage.getItem("233") // null
sessionStorage.getItem('233') // null
...
(2) 触发undefined的时机
// 举例(undefined触发时机太多,简单举例)// 声明变量未使用
var test1; // undefined// 声明变量未使用
var test1; // undefined// 对象中找不到该属性
var obj ={};
obj.a; // undefined
...
5,函数参数有默认值时,当参数使用时默认参数 是否生效 效果不同。
function demo(data = '233'){console.log('_______'+data);
};
demo(null); // _______null
demo(undefined); // _______233
总结
null本质是一个表示"无值"的对象,算是一个特殊值。
undefined是一个表示"还没有定义"的原始类型。
相关文章:
js中null和undefined的区别
js中null和undefined的区别?这也是一个常见的js面试题 相同点 1,都是基本类型。 2,做判断值都是false。 !!null false // true !!undefined false // true不同点 1,诞生时间null在前,undefined在后。因为js作者Brendan-Eic…...
【Linux】linux中的c++怎么调试?gdb的介绍和使用。
背景1.1.前提知识程序的发布方式有两种,debug模式和release模式Linux gcc/g出来的二进制程序,默认是release模式 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项windows上的调试方法有区别吗?1.调试思路是一样的2…...
提升Python代码性能的六个技巧
文章目录前言为什么要写本文?1、代码性能检测1.1、使用 timeit 库1.2、使用 memory_profiler 库1.3、使用 line_profiler 库2、使用内置函数和库3、使用内插字符串 f-string4、使用列表推导式5、使用 lru_cache 装饰器缓存数据6、针对循环结构的优化7、选择合适算法…...
VI的常用命令
VI的常用命令 文章目录VI的常用命令vi/vim是什么?VI普通模式命令VI编辑模式命令VI指令模式vi/vim是什么? VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器 VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的将字体颜色辨别语法…...
【数据结构】万字深入浅出讲解单链表(附原码 | 超详解)
🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:C语言实现数据结构 💬总结:希望你看完…...
无线WiFi安全渗透与攻防(五)之aircrack-ng破解WEP加密
系列文章 无线WiFi安全渗透与攻防(一)之无线安全环境搭建 无线WiFi安全渗透与攻防(二)之打造专属字典 无线WiFi安全渗透与攻防(三)之Windows扫描wifi和破解WiFi密码 无线WiFi安全渗透与攻防(四)之kismet的使用 aircrack-ng破解WEP加密 1.WEP介绍 其实我们平常在使用wifi的时…...
MySQL中事务的相关问题
事务 一、事务的概述: 1、事务处理(事务操作):保证所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事务都被提交(commit…...
推荐算法再次踩坑记录
去年搞通了EasyRec这个玩意,没想到今年还要用推荐方面的东西,行吧,再来一次,再次踩坑试试。1、EasyRec训练测试数据下载:git clone后,进入EasyRec,然后执行:bash scripts/init.sh 将…...
STM32 (十五)MPU6050
简介前言一、MPU6050简介MPU6050是一款性价比很高的陀螺仪,可以读取X Y Z 三轴角度,X Y Z 三轴加速度,还有内置的温度传感器,在姿态解析方面应用非常广泛。下面是它在淘宝上的参数图产品尺寸产品参数产品原理图:二、硬…...
使用yarn,依赖报各种错误怎么办
使用 yarn^3.x 版本时,默认并不会安装包到 node_modules,因为 yarn3.x 是即插即用的,也就是说如果你下载过这个包,yarn只会生成一个 Png文件,然后将包的路径 link 到下载过的地方,这样可以省去很多时间。而…...
面试官:rem和vw有什么区别
"rem" 和 "vw"的区别 "rem" 和 "vw" 都是用于网页设计的CSS单位。 "rem" 是相对于根元素的字体大小来计算的单位,即相对于 "html" 标签的字体大小。例如,如果 "html" 标签的字…...
【GPT-4】GPT-4 相关内容总结
目录 编辑 官网介绍 GPT-4 内容提升总结 GPT-4 简短版总结 GPT-4 基础能力 GPT-4 图像处理 GPT-4 技术报告 训练过程 局限性 GPT-4 风险和应对措施 开源项目:OpenAI Evals 申请 GPT-4 API API的介绍以及获取 官网介绍 官网:GPT-4 API候…...
5.springcloud微服务架构搭建 之 《springboot集成Hystrix》
1.springcloud微服务架构搭建 之 《springboot自动装配Redis》 2.springcloud微服务架构搭建 之 《springboot集成nacos注册中心》 3.springcloud微服务架构搭建 之 《springboot自动装配ribbon》 4.springcloud微服务架构搭建 之 《springboot集成openFeign》 目录 1.项目…...
【工作中问题解决实践 七】SpringBoot集成Jackson进行对象序列化和反序列化
去年10月份以来由于公司和家里的事情太多,所以一直没有学习,最近缓过来了,学习的脚步不能停滞啊。回归正题,其实前年在学习springMvc的时候也学习过Jackson【Spring MVC学习笔记 五】SpringMVC框架整合Jackson工具,但是…...
香港服务器遭受DDoS攻击后如何恢复运行?
您是否发现流量异常上升?您的网站突然崩溃了吗?当您注意到这些迹象时,可能是在陷入了DDoS攻击的困境,因而,当开始考虑使用香港服务器时,也应该考虑香港服务器设备受DDoS攻击时,如何从中恢复。 在 DDoS 攻击香港…...
【Hive】配置
目录 Hive参数配置方式 参数的配置方式 1. 文件配置 2. 命令行参数配置 3. 参数声明配置 配置源数据库 配置元数据到MySQL 查看MySQL中的元数据 Hive服务部署 hiveserver2服务 介绍 部署 启动 远程连接 1. 使用命令行客户端beeline进行远程访问 metastore服务 …...
IP-GUARD如何强制管控电脑设置开机密码要符合密码复杂度?
如何强制管控电脑设置开机密码要符合密码复杂度? 7 可以在控制台-【策略】-【定制配置】,添加一条配置,开启系统密码复杂度检测。 类别:自定义 关键字:bp_password_complexity 内容:1 效果图:...
剑指 Offer II 031. 最近最少使用缓存
题目链接 剑指 Offer II 031. 最近最少使用缓存 mid 题目描述 运用所掌握的数据结构,设计和实现一个 LRU(Least Recently Used,最近最少使用) 缓存机制 。 实现 LRUCache类: LRUCache(int capacity)以正整数作为容量 capacity初始化 LRU缓…...
44岁了,我从没想过在CSDN创作2年,会有这么大收获
1998年上的大学,02年毕业,就算从工作算起,我也有20余年的码龄生涯了。 但正式开启博文的写作,却是2021年开始的,差不多也就写了2年的博客,今天我来说说我在CSDN的感受和收获。 我是真的没想到,…...
相位相参信号源的设计--示波器上的信号不稳定,来回跑?
目录乱跑的波形边沿触发触发方式外部触发相参与非相参相位相参的射频信号源样机外观与内部设计软件设计上位机软件信号源使用方法PWM触发信号射频信号的时域波形射频信号的频谱输出功率在示波器的实际使用当中波形在示波器的时域上乱跑,左右移动,定不下来…...
成长规划师 - OpenClaw助力个人发展
每周进步1%,一年后你会比现在优秀37倍你有没有过这样的感觉: 一周忙忙碌碌,周五回顾时却想不起做了什么重要的事?年初立下的flag,到了年底发现一个都没实现?羡慕别人技能满满,自己却不知道从哪里…...
别再傻傻匀速拖滑块了!用Python模拟真人鼠标轨迹,轻松过Geetest验证码
突破验证码防线:Python模拟人类行为轨迹的实战艺术 验证码系统正变得越来越智能,Geetest等平台已经能够通过分析用户行为模式来区分人类和机器。传统的匀速滑块操作在这些系统面前几乎无所遁形。本文将带你深入理解现代验证码系统的工作原理,…...
GLM-OCR镜像免配置优势:无需HuggingFace Token,离线环境安全可用
GLM-OCR镜像免配置优势:无需HuggingFace Token,离线环境安全可用 1. 什么是GLM-OCR及其核心价值 GLM-OCR是一个基于先进GLM-V编码器-解码器架构构建的多模态OCR识别模型,专门为复杂文档理解场景而设计。与传统的OCR工具不同,它不…...
Matlab与VeriStand无缝集成:开发环境配置全攻略
1. 环境准备:软件安装与版本匹配 搞过Matlab和VeriStand集成的朋友都知道,最头疼的不是写代码,而是环境配置。我当年第一次尝试时,光软件版本兼容性问题就折腾了两天。这里分享几个血泪教训: 首先Matlab和VeriStand的版…...
DeOldify图像上色服务完整流程:基于Flask的Web服务部署与使用
DeOldify图像上色服务完整流程:基于Flask的Web服务部署与使用 1. 项目概述与核心功能 DeOldify图像上色服务是一个基于深度学习技术的Web应用,能够将黑白或褪色的老照片自动转换为彩色图像。这个项目通过简单的Web界面,让用户无需任何技术背…...
从“玩概念”到“真落地”:AI智能体三大场景的突围之路
当行业不再为“大模型参数”狂欢,真正的价值开始浮现——客服自动化、内部知识库、办公Agent,正在成为AI智能体最先跑通商业闭环的三大场景。而决定成败的关键,已经从模型能力转向上下文设计、工具调用与反馈迭代。 2026年,大模型…...
宇视NVR接入AS-V1000平台全流程指南(含SDK端口配置避坑)
宇视NVR对接AS-V1000平台实战手册:从配置到排障的深度解析 当监控系统需要整合多品牌设备时,宇视NVR与AS-V1000平台的对接成为典型场景。不同于标准化的协议对接,SDK接入方式往往隐藏着诸多"暗礁"——从端口冲突到能力集匹配&#…...
GTE-Pro物流应用:运单文本的智能处理
GTE-Pro物流应用:运单文本的智能处理 1. 物流行业的文本处理挑战 每天,物流公司都要处理海量的运单文本和客服对话。这些文本数据里藏着宝贵的信息,但传统的关键词匹配方法往往力不从心。 想象一下这样的场景:一个运单上写着&q…...
OpenClaw我的龙虾怎么识别不了图片
问题现象 图片发送给龙虾,要么一直说没收到图片,要么提示不支持,要么提示安装OCR工具,要么就是识别出来的完全牛头不对马嘴。 解决方案 这里面涉及三个因素: 模型是否支撑图片识别配置中的input是否配置了image聊天渠道…...
Pixel Mind Decoder 数据结构优化:提升批量文本情绪处理效率
Pixel Mind Decoder 数据结构优化:提升批量文本情绪处理效率 1. 为什么需要优化批量处理 当你需要分析成千上万条用户评论或社交媒体内容时,逐条调用情绪分析模型会变得非常低效。就像在快餐店点餐一样,一个一个处理订单远不如批量处理来得…...
