当前位置: 首页 > news >正文

JavaScript值类型与引用类型的区别

值类型(原始类型)

值类型包括:undefinednullbooleannumberstringsymbolbigint。这些类型的特点是:

  1. 存储位置:值类型的数据直接存储在栈(Stack)中。
  2. 复制行为:当一个值类型的变量复制给另一个变量时,实际上是将存储在栈中的值复制一份到新的变量的存储位置。两个变量完全独立,互不影响。
  3. 比较行为:值类型的比较是值的比较,只有值完全相等时,才返回true

引用类型

引用类型包括:对象(Object)、数组(Array)、函数(Function)等。引用类型的特点是:

  1. 存储位置:引用类型的数据是存储在堆(Heap)中的,而变量实际上存储的是一个指向堆内存中该对象的指针。
  2. 复制行为:当一个引用类型的变量复制给另一个变量时,复制的是内存地址,因此两个变量指向同一个对象。如果一个变量的对象内容被修改,另一个变量访问的对象内容也会发生改变。
  3. 比较行为:引用类型的比较是指针的比较,即比较的是是否指向同一个对象的内存地址,而不是内容比较。

实例说明

let num1 = 100;
let num2 = num1;
num2 = 200;
console.log(num1); // 输出 100,因为num1和num2是独立的let obj1 = { value: 100 };
let obj2 = obj1;
obj2.value = 200;
console.log(obj1.value); // 输出 200,因为obj1和obj2指向同一个对象

理解这些差异有助于更好地管理数据存储、传递和操作,尤其是在处理大型或复杂的JavaScript应用程序时。

相关文章:

JavaScript值类型与引用类型的区别

值类型(原始类型) 值类型包括:undefined、null、boolean、number、string、symbol 和 bigint。这些类型的特点是: 存储位置:值类型的数据直接存储在栈(Stack)中。复制行为:当一个值…...

每日一博 - 闲聊架构设计中的多级缓存设计

文章目录 方法论概述客户端缓存应用层缓存服务层缓存缓存设计的注意事项总结 思维导图戳这里 方法论概述 从客户端到服务层,缓存的应用广泛而重要。通过合理的缓存设计,能够有效地提高系统的性能并降低延迟。 客户端缓存 在客户端层面,浏览…...

轻松实现MySQL集群配置:一主一从与一主多从教程

在数据驱动的时代,数据库的高可用性和负载分散成为了维护在线服务稳定运行的关键。MySQL作为世界上最流行的开源关系型数据库管理系统,其集群配置是任何DBA或开发人员必须掌握的技能之一。本文将为您详细介绍如何轻松配置MySQL的一主一从和一主多从集群&…...

Leetcode刷题-(41~45)-Java

算法是码农的基本功,也是各个大厂必考察的重点,让我们一起坚持写题吧。 遇事不决,可问春风,春风不语,即是本心。 我们在我们能力范围内,做好我们该做的事,然后相信一切都事最好的安排就可以啦…...

【Android】源码解析Activity的结构分析

源码解析Activity的结构分析 目录 1、Activity、View、Window有什么关联?2、Activity的结构构建流程3 源码解析Activity的构成 3.1 Activity的Attach方法3.2 Activity的OnCreate 4、WindowManager与View的关系总结 1、一个Activity对应几个WindowManage&#xff0…...

小猪APP分发:重塑应用分发市场的创新力量

在移动互联网蓬勃发展的今天,应用分发平台作为连接开发者与用户的桥梁,扮演着至关重要的角色。然而,随着市场的饱和,如何在众多平台中脱颖而出,为开发者提供更宽广的舞台,同时确保用户能够便捷、安全地获取…...

区块链 | IPFS 工作原理入门

🦊原文:What is the InterPlanetary File System (IPFS), and how does it work? 🦊写在前面:本文属于搬运博客,自己留存学习。 1 去中心化互联网 尽管万维网是一个全球性的网络,但在数据存储方面&#…...

减速机齿数速算

1.齿轮相关参数 1.1 模数 , 因为 齿数*齿距 Pi*直径 所以:直径/齿数 齿距/PI 模数 国标现行标准(截止2024/5)是: GB/ 1357-2008 / ISO 54-1996 模数有国标的一个序列标准: 1.2.轴径 轴径的国标是&a…...

2万字长文:海豚调度器(DolphinScheduler)面试题深入了解

目录 海豚调度器的主要功能和特点 海豚调度器与Oozie、Azkaban等调度器相比的优势...

全双工音频对讲模块-支持空中升级、多级无线中继

SA618F30是一款高集成的大功率全双工无线音频模块,发射功率高达32dBm。该音频模块简化接口,只需外接音频功放或麦克风即可作为一个小型对讲机,方便快捷嵌入到各类手持设备中。支持多级无线中继,支持OTA空中升级。 SA618F30配备1W…...

Spring扩展点(二)Spring事务生命周期

Spring事务生命周期 Spring事务事务生命周期 接口 TransactionSynchronizationTransactionalEventListener(另一种监听事务周期的方式) Spring事务 Spring对JDBC事务做了封装,使其易于使用。主要分为声明式事务和编程式事务。 Transactiona…...

foobar2000 for Mac:卓越音乐播放器

当您在寻找一款音质卓越、功能丰富的音频播放器时,foobar2000 for Mac无疑是您的首选。它拥有简洁明了的界面设计,易于上手,同时支持多种音频格式,让您无需担心兼容性问题。 foobar2000 for Mac v2.6.4免激活版下载 foobar2000 fo…...

【自动驾驶|毫米波雷达】初识毫米波雷达射频前端硬件

第一次更新:2024/5/4 目录 整体概述 混频器(MIXER) 低通滤波器(LPF:Low-Pass filter) 数模转换器(ADC:Analog to Digital Converter) 毫米波雷达功能框图 整体概述 完…...

实战BACnet/IP标准通信网关在楼宇自动化中的应用

智慧楼宇建设实现不同设备间的互联互通是一项巨大挑战,尤其是在那些历史悠久的建筑中,新旧系统并存的情况尤为普遍。某大型商业综合体就面临着这样的困境:老旧的暖通空调系统采用Modbus RTU协议,而新部署的能源管理系统却要求BACn…...

设计模式的原则与分类

一、设计模式的原则 1、单一职责原则 一个类只需要负责一种职责即可,一个类发生变化的原因,必然是所负责的职责发生变化 2、接口隔离原则 单一职责原则是接口隔离原则的基础,单一职责原则注重职责的划分,从职责角度进行类和接口…...

在ubuntu虚拟机中手动安装VMware Tools(VMware Workstation 17 player)

可参考官方文档:在 Linux 虚拟机中手动安装 VMware Tools 以下列出我在安装过程中遇见的问题: 1、“安装VMware Tools”选项为灰,无法选中 原因是VMware Tools的安装包镜像在Player的安装目录下,需要在虚拟机启动的时候加载这个…...

十个数据安全最佳实践:保护数据的简单方法

在德迅云安全将介绍数据安全的主要原则,并了解适用于大多数行业的 10 种数据安全最佳实践,以及云端安全检测的重要性。 数据威胁和维护数据安全的好处 什么是数据安全? 数据安全是旨在保护组织敏感资产的流程和工具的组合。有价值的数据在…...

【leetcode】二分搜索题目总结

704. 二分查找 class Solution { public:int search(vector<int>& nums, int target) {int left 0, right nums.size() - 1;while (left < right) {int mid left (right - left) / 2;if (nums[mid] target) {return mid;} else if (nums[mid] < target) …...

六西格玛项目的核心要素:理论学习、实践应用与项目经验

许多朋友担心&#xff0c;没有项目经验是否就意味着无法考取六西格玛证书。针对这一疑问&#xff0c;张驰咨询为大家详细解答。 首先&#xff0c;需要明确的是&#xff0c;六西格玛项目不仅仅是一种管理工具或方法&#xff0c;更是一种追求卓越、持续改进的思维方式。它强调通…...

21-ESP32-S3实时时钟(RTC)

ESP32-S3实时时钟&#xff08;RTC&#xff09;的使用 ESP32-S3是一款高性能的Wi-Fi和蓝牙集成的系统级芯片&#xff08;SoC&#xff09;&#xff0c;它包含一个实时时钟&#xff08;RTC&#xff09;模块&#xff0c;可以在系统的其他部分关闭时继续运行&#xff0c;以节省电能…...

顶伯知识竞赛系统 · 核心功能列表

&#x1f680; 顶伯知识竞赛系统 核心功能列表专业 高效 让知识竞赛组织更简单&#x1f3af; 核心优势速览⏱️ 高效&#xff1a;传统方式2-3天的准备工作&#xff0c;2-3小时完成&#x1f3af; 精准&#xff1a;系统自动计分、自动判定抢答&#xff0c;零误差&#x1f3a8;…...

鸿蒙 HarmonyOS 6.0 页面构建实践:跨端数字图书馆界面实现

鸿蒙 HarmonyOS 6.0 页面构建实践&#xff1a;跨端数字图书馆界面实现 前言 随着移动互联网和物联网的高速发展&#xff0c;跨端应用开发已成为现代软件开发的重要趋势。开发者不仅需要在手机端提供流畅的用户体验&#xff0c;还需要兼顾平板、电视等多终端的适配问题。在这样的…...

SoC设计全流程解析:从架构到流片的核心步骤与挑战

1. 项目概述&#xff1a;从“黑盒子”到“城市蓝图”每次拿起手机&#xff0c;我们都在与一个极其复杂的微型“城市”互动。这个城市&#xff0c;就是SoC。对于很多刚入行的朋友&#xff0c;甚至是一些有经验的软件工程师来说&#xff0c;SoC常常像一个“黑盒子”——我们知道它…...

电波流速仪

电波流速仪主打轻量化便携设计&#xff0c;适配单人独立作业。整机重量小于1kg&#xff0c;机身轻巧便携、握持舒适&#xff0c;长时间户外作业无负担。支持手持直接测量与标配三脚架固定测量两种模式&#xff0c;可灵活适配沟渠、河道、险滩、闸口等不同作业环境&#xff0c;既…...

手把手教你用逻辑分析仪抓取RF433遥控器信号(附我家窗帘遥控器完整解码过程)

手把手教你用逻辑分析仪抓取RF433遥控器信号&#xff08;附我家窗帘遥控器完整解码过程&#xff09; 无线遥控技术早已渗透进日常生活&#xff0c;从车库门到智能窗帘&#xff0c;这些设备背后的RF433MHz通信协议却像黑匣子般神秘。本文将用一台百元级的逻辑分析仪和常见的超外…...

KVQuant:突破LLM推理显存瓶颈的KV Cache量化技术详解

1. 项目概述&#xff1a;KVQuant是什么&#xff0c;以及它为何重要如果你最近在折腾大语言模型&#xff08;LLM&#xff09;的本地部署、微调或者推理优化&#xff0c;大概率已经对“KV Cache”这个名词不陌生了。随着模型参数规模从几十亿飙升到上千亿&#xff0c;推理过程中的…...

深入解析Enso:构建高性能可编程代理与API网关的Go框架

1. 项目概述&#xff1a;一个被低估的“瑞士军刀”如果你在开源社区里混迹过一段时间&#xff0c;大概率见过这样的场景&#xff1a;一个项目仓库&#xff0c;名字起得挺酷&#xff0c;比如“Enso”&#xff0c;简介里写着“一个现代化的代理工具”&#xff0c;但点进去一看&am…...

制造业生产能耗智能管控,落地步骤与落地成本优化方案:基于AI Agent与TARS大模型的全链路实战指引

在2026年的工业数字化浪潮中&#xff0c;制造业正面临前所未有的能源双控压力。随着工信部办公厅发布《关于组织开展2026年度工业节能监察工作的通知》&#xff0c;针对新能源产业链及重点耗能环节的监管已进入“精细化、实时化、透明化”的新阶段。对于企业而言&#xff0c;能…...

AgentOps:AI Agent可观测性平台,解决LLM应用开发调试难题

1. 项目概述&#xff1a;从“AI Agent”到“AgentOps”的工程化跃迁如果你最近在折腾AI Agent&#xff0c;或者正带领团队尝试将大语言模型&#xff08;LLM&#xff09;的能力集成到你的产品流程中&#xff0c;那你大概率会遇到一个共同的瓶颈&#xff1a;开发调试过程像在“开…...

代码编辑器世纪大战:VS Code vs JetBrains IDE vs Zed全面对比

Visual Studio Code、IntelliJ IDEA/PhpStorm/WebStorm、Zed——这三种编辑器代表了三代程序员的生产力哲学。本文从响应速度、生态成熟度、AI赋能、协作能力四个维度进行深度横评。 一、三种编辑器的基因差异 VS Code&#xff1a;开放生态的胜利 VS Code的核心优势不是功能&am…...