快速导航×

Js值传递和引用传递的不同2025-11-12 21:49:02
基本类型参数传递时复制值,函数内修改不影响外部;对象类型传递引用地址,修改属性会影响外部对象,但重新赋值参数不影响原引用。

js值传递和引用传递的不同

J*aScript 中的值传递和引用传递主要区别在于函数参数在传递时的行为方式,这取决于参数的数据类型。

基本类型是值传递

J*aScript 的基本类型(如 number、string、boolean、null、undefined、symbol)在作为参数传入函数时,是按值传递的。这意味着函数内部接收到的是原始值的一个副本,对参数的修改不会影响外部变量。

例如:

let a = 10;
function changeValue(num) {
  num = 20;
}
changeValue(a);
console.log(a); // 输出 10

这里 num 是 a 的副本,函数内对 num 的修改不影响 a。

对象类型是引用传递

对象类型(包括数组、普通对象、函数等)在传参时是按引用传递的。函数接收到的是该对象在堆内存中的引用地址。因此,如果在函数内部修改了对象的内容,外部的对象也会受到影响。

例如:

let obj = { name: "Tom" };
function changeObj(o) {
  o.name = "Jerry";
}
changeObj(obj);
console.log(obj.name); // 输出 "Jerry"

因为 o 和 obj 指向同一个对象,所以修改生效。

magento(麦进斗) magento(麦进斗)

Magento是一套专业开源的PHP电子商务系统。Magento设计得非常灵活,具有模块化架构体系和丰富的功能。易于与第三方应用系统无缝集成。Magento开源网店系统的特点主要分以下几大类,网站管理促销和工具国际化支持SEO搜索引擎优化结账方式运输快递支付方式客户服务用户帐户目录管理目录浏览产品展示分析和报表Magento 1.6 主要包含以下新特性:•持久性购物 - 为不同的

magento(麦进斗) 0 查看详情 magento(麦进斗)

但要注意:如果在函数内重新赋值整个参数引用,就不会影响外部对象。

let obj = { name: "Tom" };
function reassignObj(o) {
  o = { name: "Bob" };
}
reassignObj(obj);
console.log(obj.name); // 仍输出 "Tom"

此时 o 被重新指向一个新对象,原 obj 不受影响。

基本上就这些。理解清楚数据类型和赋值行为,就能掌握 JS 中参数传递的本质。不复杂但容易忽略细节。

以上就是Js值传递和引用传递的不同的详细内容,更多请关注其它相关文章!


# java  # 合肥网站建设及营销方案  # 营销号手机怎么做推广  # 玉溪seo公司推荐30火星  # 萍乡抖音seo运营推广  # 人社局网站建设方案  # seo管理电话  # 奥迪营销的推广  # 就能  # 也会  # 有何区别  # 拖拽  # 拖放  # 开源  # 它与  # 如何使用  # 的是  # 如何实现  # 区别  # js  # javascript  # 网站的推广方案ppt  # 设计公司网站seo  # 米线营销推广语怎么写简短 


相关栏目: 【 企业资讯168 】 【 行业动态20933 】 【 网络营销52431 】 【 网络学院91036 】 【 运营推广7012 】 【 科技资讯60970


相关推荐: 快手极速版在线观看 官方网页版登录地址  CSS条件样式无法按设备触发怎么排查_media条件语句正确设置解决触发问题  利用5118提升短视频内容效果_5118短视频关键词优化方法  飞书妙记怎样用语音转文字速记_飞书妙记用语音转文字速记【速记方法】  J*a 递归快速排序中静态变量的状态管理与陷阱  苹果手机如何防止被恶意App追踪  三星ZFold5多任务卡顿_Samsung ZFold5流畅度提升  Win11网速慢怎么解决 Win11网络设置优化解除限速  Tabulator表格日期时间排序问题及自定义解决方案  如何在 Windows 11 中启动游戏手柄设置  J*aScript中赋值与自增运算符的复杂交互与执行机制  Golang如何优雅处理error_Golang error处理最佳实践总结  QQ邮箱稳定登录入口_QQ邮箱官方网站网页版使用  Win11怎么开启高性能模式_Windows 11电源计划优化设置  MAC如何安全彻底地删除文件_MAC使用终端命令确保文件无法被恢复  J*aScript中高效清空DOM列表元素:解决for循环中断与任务管理问题  如何在复杂的电商平台中优雅地管理共享资源并确保正确重定向,使用spryker-shop/resource-share-page模块助你一臂之力  ArrayList与LinkedList核心操作的Big-O复杂度分析  想当下一个《2077》?《心之眼》Steam评价升至"多半好评"  j*a toString()的覆盖  Sublime Text怎么显示空格和制表符_Sublime显示不可见字符设置  CSS Box Model与弹性按钮:维持布局稳定的动画实践  蛙漫正版漫画平台入口_蛙漫免费阅读全站漫画资源  LINUX怎么设置定时任务_LINUX crontab配置教程  Go Martini框架:动态服务解码后的图片内容  J*aScript实现动态背景色下的文本与按钮颜色自适应调整  在哪找SublimeJ远程工具_SFTP插件配置教程  Yandex搜索引擎一键访问入口_俄罗斯Yandex官网免登录  微信聊天记录怎么加密_微信聊天记录加密方法  小红书怎么解除第三方平台绑定_小红书多平台登录解绑方法介绍  如何在J*a中实现统一对象行为接口_项目大型化时的接口规范化  QQ邮箱网页版入口页面 QQ邮箱在线登录入口官网  Sublime Text怎么设置垂直标尺_Sublime配置Rulers规范代码长度  Golang如何使用bytes.Split分割字节切片_Golang bytes切片分割方法  C++ string清空内容_C++ clear与empty用法  神庙逃亡小游戏在线玩 神庙逃亡小游戏入口  C#使用XPath查询节点时出错? 常见语法错误与调试技巧  2306选座时如何选靠窗位置_12306选座靠窗座位查看方法解析  押井守高度称赞《辐射4》:玩了八年都停不下来!  HTML长属性值处理:表单action路径优化与代码规范应对  AO3中文官网链接_AO3网页版稳定镜像站  MAC怎么让Dock栏只显示当前运行的应用_MAC终端命令实现极简Dock栏  微信怎么把收藏的内容分类管理 微信收藏内容标签分类方法  今日头条怎么同步内容到抖音_今日头条内容同步到抖音教程  Lar*el表单中优雅地处理“返回”按钮以规避验证:最佳实践指南  HTML元素状态管理:根据DIV内容动态启用/禁用按钮  优化LangChain文档加载与ChromaDB集成:解决多文档处理与分块问题  win11如何加载ICC颜色配置文件 Win11校色文件安装与显示器色彩管理【指南】  Angular中单选按钮的正确使用与常见陷阱解析  电脑安装程序提示“错误1722”怎么办_Windows Installer服务问题解决【教程】