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

js 值传递与引用传递

值传递

基本类型赋值:

let a = 1;
let b = a;console.log(a); // 输出 1b = 3;console.log(a, b); // 输出 1 3

对象类型赋值: 

let c = {a: 1, b: 2, c: {d: 3}};
let d = c;console.log(d); // 输出 {a: 1, b: 2, c: {d: 3}} 的值d = { a: 2, b: 2, c: { d: 3 } };console.log(c, d, c === d); // 输出 {a: 1, b: 2, c: {d: 3}} {a: 2, b: 2, c: {d: 3}} false

以上都是js传递都是值传递,对传递的变量b,d从新赋值不会影响到a,c原来的值。

引用传递

// a.js
export let a = 1;a ++;// b.js
import {a as b} from 'a.js'

在a.js文件里面修改了a会影响到b的值。因为他们共享内存地址。 


http://www.mrgr.cn/news/80459.html

相关文章:

  • OpenCV圆形标定板检测算法findGrid原理详解
  • 代码随想录算法训练营第四十八/九天 | 图 | 深度搜索 | 广度搜索
  • 试题转excel;word转excel;大风车excel
  • DockerUI info存在未授权访问漏洞
  • HB1910数字IP程控交换机generate.php存在RCE漏洞
  • 【数据结构——查找】二分查找(头歌实践教学平台习题)【合集】
  • RabbitMQ 消息持久化/镜像队列/lazy对时延影响
  • 具身智能之视觉语言导航(VLN)类别与基准
  • ActiveMQ 反序列化漏洞CVE-2015-5254复现
  • BERTective: Language Models and Contextual Information for Deception Detection
  • Gate学习(7)引入体素源
  • React简单入门 - [Next.js项目] - 页面跳转、AntD组件、二级目录等
  • 【SQL】语句练习
  • SpringBoot项目监听端口接受数据(Netty版)
  • RT-Thread启动过程 :从汇编开始的启动流程
  • 信息安全工程师-选择题考点总结
  • flutter 多文本,其中文本下划线往下移动
  • Node的学习以及学习通过Node书写接口并简单操作数据库
  • 概率论得学习和整理22:EXCEL数据清洗的几个功能总结备忘
  • NVM:安装配置使用(详细教程)