undefined与null的区别
null 表示一个对象被定义了,值为“空值”
undefined 表示不存在这个值
1.undefined
typeof undefined //"undefined"
undefined 是一个表示"无"的原始值或者说表示"缺少值",就是此处应该有一个值,但还没有定义。当尝试读取时会返回 undefined
例如变量被声明了,但没有赋值时,就等于 undefined
(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。
//1 变量被声明了,但没有赋值时,就等于undefined。
var name;
name //undefined//2 调用函数时,应该提供的参数没有提供,该参数等于undefined。
function f(x) {console.log(x)
}
f() //undefined//3 对象没有赋值的属性,该属性的值为undefined。
var obj = new Object();
obj.name //undefined//4 函数没有返回值时,默认返回undefined。
var val = f()
val //undefined
2.null
typeof null //"object"
null 是一个空对象(空对象, 没有任何属性和方法)
例如作为函数的参数,表示该函数的参数不是对象
(1) 作为函数的参数,表示该函数的参数不是对象。
(2) 作为对象原型链的终点。
注意: 在验证 null 时,一定要使用=== ,因为 == 无法分别 null 和 undefined undefined 表示"缺少值",就是此处应该有一个值,但是还没有定义。
相关文章:
undefined与null的区别
null 表示一个对象被定义了,值为“空值” undefined 表示不存在这个值 1.undefined typeof undefined //"undefined" undefined 是一个表示"无"的原始值或者说表示"缺少值",就是此处应该有一个值,但还没有…...
Unity之获取用户地理位置
1.直接利用三方API获取: 1.1 利用bilibili的api 【未知稳定性】 public void Awake() {StartCoroutine(GetLocationInfoNew());}/// <summary>/// 利用bilibili的接口通过ip直接获取城市信息/// </summary>IEnumerator GetLocationInfoNew() {//UnityWebRequest …...
TC3XX - MCAL知识点(二十):CAN MCAL配置及代码实战(CAN/CANFD/extenen CAN)
目录 1、概述 2、MCAL配置 2.1、实验目标 2.2、CAN配置(包含CAN与CANFD) 2.2.1、CanGeneral...
QT生成Debug和Release发布版后,运行exe缺少dll问题
在QT Creator生成debug和release的exe执行文件后,运行时,报错缺少*.dll.解决办法1: 在系统环境变量中添加D:\Qt\Qt5.13.2\Tools\mingw730_64\bin后,即可运行。 当使用此方法时,将exe拷贝到其他电脑中运行时,…...
企业进销存管理流程有哪些? 附进销存管理系统
阅读本文,您可以了解:1、进销存的定义;2、进销存的流程 首先,在了解进销存流程之前,我们必须厘清一个问题? 什么是进销存? 进销存是一个企业管理中常用的术语,是指企业在经营过程中…...
RPC原理与Go RPC详解
文章目录 RPC原理与Go RPC什么是RPC本地调用RPC调用HTTP调用RESTful API net/rpc基础RPC示例基于TCP协议的RPC使用JSON协议的RPCPython调用RPC RPC原理 RPC原理与Go RPC 什么是RPC RPC(Remote Procedure Call),即远程过程调用。它允许像调用…...
JavaScript:异步编程的发展
在JavaScript编程中,异步编程是处理耗时操作的关键技术,它允许程序在等待某些操作完成时继续执行其他任务,提高了程序的性能和响应性。随着技术的发展,JavaScript的异步编程模型也在不断演进,从最初的回调函数到现在的…...
排序第二课【选择排序】直接选择排序 与 堆排序
目录 1. 排序的概念: 2.选择排序的基本思想 3.直接选择排序 4.堆排序 1. 排序的概念: 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性…...
【chrome扩展开发】vue-i18n使用问题及解决方案
记录chrome扩展开发时调用vue-i18n的一些问题和解决方法 环境 vue: ^3.3.4vue-i18n: ^9.2.2vite: ^4.4.8 错误1 Uncaught (in promise) EvalError: Refused to evaluate a string as JavaScript because unsafe-eval is not an allowed source of script in the following Con…...
【Vue3】localStorage读取数组并赋值的问题
问题描述 今天在写项目用到localStorage进行存储并读取数据,并将读取到的数据存放到列表的时候,发现vue3不能直接对数组进行赋值。因为Vue3的响应式是proxy,对所有的数据进行了拦截。 onBeforeMount(() > {console.log(JSON.parse(local…...
华为harmonyos4.0鸿蒙4.0安装谷歌服务框架Play商店,解决从服务器检索信息时出错
8月4号华为手机发布了全新的harmonyos4.0鸿蒙4.0系统,很多人需要问还是不是支持谷歌服务框架?那么答案是肯定的,它和鸿蒙3是一样的,一样的操作,一样的支持安装谷歌服务框架,安装Google play商店。测试机型&…...
pcl 滤波
pcl::ShadowPoints 去除边缘不连续点云 #include <pcl/filters/shadowpoints.h> #include <pcl/features/normal_3d.h>pcl::PointCloud<pcl::PointXYZI>::Ptr ShadowsCloudFilter(pcl::PointCloud<pcl::PointXYZI>::Ptr cloud) {pcl::ShadowPoints&l…...
前端js--旋转幻灯片
效果图 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><link rel"stylesheet" href"…...
解决mvn clean install遇到testng单元测试失败时打包也失败的问题
解决mvn clean install遇到testng单元测试失败时打包也失败的问题 看这个之前请先看这个 Jenkins执行Testng 比如我现在就有一个单元测试失败的项目 执行mvn clean install的时候就会报错 下面是我现在的pom.xml 但我们不希望这样,怎么办 <plugin><gr…...
RISC-V基础之函数调用(二)栈与寄存器(包含实例)
堆栈是一种后进先出(LIFO)的队列,用于存储函数调用时的临时数据和现场数据。堆栈指针sp(寄存器2)是一个普通的RISC-V寄存器,按照惯例,指向堆栈的顶部。堆栈从高地址向低地址增长,即当…...
解析器模式(C++)
定义 给定一个语言,定义它的文法的一种表示,并定义一种解释器,这个解释器使用该表示来解释语言中的句子。 应用场景 在软件构建过程中,如果某一特定领域的问题比较复杂,类似的结构不断重复出现,如果使用…...
电子元器件选型与实战应用—02 电容选型第1篇(8000字)
文章目录 0. 电阻选型案例回顾1. 入门知识1.1 基础1.2 串并联1.3 常用容值1.4 常用品牌2. 参数详解2.1 静电容量2.2 额定电压2.3 精度2.4 漏电流和绝缘电阻2.5 ESR3. 电容种类3.1 陶瓷电容3.1.1 陶瓷电容优缺点3.1.2 容量和电压的关系3.1.3 陶瓷电容的介质3.1.4 容量和温度的关…...
试图将更改推送到 GitHub,但是远程仓库已经包含了您本地没有的工作(可能是其他人提交的修改)
这通常是由于其他人或其他仓库推送到了相同的分支上,导致您的本地仓库和远程仓库之间存在冲突。 错误信息: To github.com:8upersaiyan/CKmuduo.git ! [rejected] main -> main (fetch first) error: failed to push some refs to github.com:8upers…...
Lamport向量时钟算法的C++实现:在分布式系统中生成事件的部分排序并检测因果关系违规
在处理分布式系统时,我们经常遇到的一个问题是如何跟踪和排序系统中发生的各种事件。这是一个非常重要的问题,因为在分布式系统中,事件的顺序可能会影响系统的行为和结果。为了解决这个问题,我们可以使用一种称为向量时钟的算法。…...
多个excel的sheet合并到一个excel下
目标:多个excel的sheet合并到一个excel下(不同sheet) 要求:原始数据不同excel中的sheet名不同 import pandas as pd import os# 多个Excel文件所在的文件夹路径 folder_path r"D:\data\sheet"# 输出合并后的Excel文件…...
面试题-Mysql篇
什么是存储过程存储过程是一组SQL语句的集合,它们在数据库中预先编译并存储。它们用于封装一组操作,提高性能、减少网络流量,并提供可重用的代码逻辑。存储过程还可以实现数据安全性和数据完整性。mysql如何查询最后一条数据使用ORDER BY根据…...
VisualGDB跨平台调试避坑指南:用VS远程调试Linux程序(2023最新版配置)
VisualGDB跨平台调试实战:2023年VS远程开发Linux程序避坑指南 当Visual Studio开发者首次尝试在Linux环境下进行C开发时,往往会面临调试工具链断裂的困境。传统的gdb命令行调试方式与Windows开发者熟悉的图形化调试体验存在巨大鸿沟,而Visual…...
Python数据库操作终极指南:5分钟快速上手dataset轻松管理数据
Python数据库操作终极指南:5分钟快速上手dataset轻松管理数据 【免费下载链接】dataset Easy-to-use data handling for SQL data stores with support for implicit table creation, bulk loading, and transactions. 项目地址: https://gitcode.com/gh_mirrors/…...
表贴式PMSM超前角弱磁控制策略:弱磁id=0控制速度提升研究,从2000rpm到4000rp...
该模型实现表贴式PMSM的超前角弱磁控制策略 不打开弱磁id0控制速度只能达到2000rpm,打开能够弱磁到4000rpm在调试表贴式永磁同步电机(PMSM)时,发现一个有趣的现象:当保持id0的传统控制策略时,电机转速死活卡…...
告别“傻跟车”:聊聊PLUTO如何用对比学习让自动驾驶学会“思考”与“决策”
告别“傻跟车”:PLUTO如何用对比学习重塑自动驾驶决策逻辑 清晨的都市高架上,一辆银色轿车正以恒定车距跟随前车匀速行驶。当领头车辆突然急刹时,这辆搭载最新PLUTO系统的自动驾驶汽车并未机械复制前车动作,而是同步检测到百米外转…...
新手福音:基于快马平台生成ubuntu安装openclaw零失败入门指南
作为一个刚接触Ubuntu的新手,第一次安装OpenClaw时简直被各种依赖报错折磨到怀疑人生。后来发现InsCode(快马)平台能直接生成带详细解释的安装指南,终于找到了救星。今天就把这个零失败的安装过程分享给大家。 认识OpenClaw 这个工具是Linux环境下超实用…...
STM32CubeMX项目实战:从新建工程到驱动LED,一步步教你玩转HAL库(附代码解析)
STM32CubeMX实战指南:HAL库驱动LED的底层逻辑与工程化思维 第一次打开STM32CubeMX时,那种面对密密麻麻的配置选项却不知从何下手的焦虑感,相信每位嵌入式开发者都记忆犹新。不同于传统寄存器操作的直白,HAL库和图形化配置工具带来…...
告别玄学调参:手把手教你用STM32F103和MPU9250实现稳定的EKF姿态解算(附源码)
从理论到实战:STM32F103与MPU9250的EKF姿态解算调参全指南 在嵌入式姿态解算领域,扩展卡尔曼滤波(EKF)算法因其优异的噪声抑制能力而广受青睐。然而,许多开发者在STM32F103等资源受限平台上实现MPU9250的EKF姿态解算时…...
intv_ai_mk11开源可部署实践:支持Webhook回调,可对接企业微信/钉钉/飞书通知
intv_ai_mk11开源可部署实践:支持Webhook回调,可对接企业微信/钉钉/飞书通知 1. 项目概述 intv_ai_mk11是一款基于Llama架构的AI对话机器人,拥有7B参数规模,能够运行在GPU服务器上。这个开源项目不仅提供了强大的对话能力&#…...
Android项目中的Gradle文件详解:从基础配置到高级技巧
Android项目中的Gradle文件详解:从基础配置到高级技巧 在Android开发的世界里,Gradle文件就像是一个项目的"大脑",它控制着构建过程的方方面面。对于有一定经验的Android开发者来说,深入理解Gradle文件的配置不仅能够提…...
