对象引用的变量重新分配不会改变其他对象(无“传递”分配)

2024-01-29

我有一个想要替换的对象。

var obj1 = { x: "a" };
var ref = obj1;
var obj2 = { y: "b" };

obj1 = obj2;

这导致ref相当于{ x: "a" },但我希望它也能改变以指向obj2 to get ref相当于{ y: "b" }.


不可能。 JS 通过引用的副本传递对象,因此在步骤中var ref = obj1实际上,您并没有像在 C 等语言中那样分配引用指针。相反,您正在创建一个引用的副本,该副本指向一个看起来像这样的对象{x: 'a'}.

有关您拥有的其他选项,请参阅此答案:https://stackoverflow.com/a/17382443/6415214 https://stackoverflow.com/a/17382443/6415214.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对象引用的变量重新分配不会改变其他对象(无“传递”分配) 的相关文章

  • 检测具有特定 ID 的元素何时插入 DOM 中的最有效方法是什么

    正如标题所示 我想检测当具有特定 id 或 CSS 类的元素插入 DOM 时的确切时间戳 并可能检测它何时被删除 最明显的方法是定期轮询文档 通过调用document getElementById使用我想要查找的元素的 id 但此方法不是很
  • 如何正确使用react-router-dom中的useHistory()?

    如何使用useHistory 正确吗 我无法从一个反应组件过渡到另一个反应组件 根据 React 文档以及 Stack Overflow 上的说明 我无法从 App js 转换到 MyComponent js 例如 我正在尝试 App js
  • 如何使用 javascript 检测触摸设备浏览器与桌面浏览器?

    使用 userAgent match 检测触摸设备 智能手机和平板电脑 与台式机浏览器并返回布尔变量 例如 isipad 的代码是什么 我需要主要针对 Android 和 Apple 设备进行测试 如果设备浏览器是Android或Apple
  • 在 Angular 5 中,如何从父组件访问动态添加的子组件?

    我正在开发一个 Ionic Angular 5 项目 我需要动态加载一些组件 继动态组件加载器示例 https angular io guide dynamic component loader在 Angular 文档中 我能够成功加载组件
  • 当数据 uri 太大时“噢,啪”

    我正在编写一个 chrome 扩展 它执行以下操作 使用以下命令将文件从网站下载到内存XMLHttpRequest 将附加数据添加到文件中 然后将结果进行 Base64 编码到变量中total encoded data 使用以下方式向用户提
  • 身体动画不流畅

    下面代码中的 spaceShip 在开始按住任何箭头键时移动并不顺利 它移动一步 冻结一瞬间 然后 平稳 地移动 怎样才能让它从一开始就顺利运转 而不是 冻结 My code
  • Vue.js 中计算属性和普通数据的区别

    我观察到 当一个正常的财产来自data 和从它派生的计算属性通过事件传递 前者保持其反应性 而后者失去它 我为其设置了以下测试用例 也作为 JSFiddle https jsfiddle net christophfriedrich b27
  • 如何在 JavaScript 中创建服务器端进度指示器?

    我想在我的网站中创建一个部分 用户可以在其中进行一些简单的操作update纽扣 这些中的每一个update按钮将发送到服务器 并在幕后进行长时间的处理 当服务器处理数据时 我希望用户有某种进度指示器 例如进度条或文本百分比 我使用 jQue
  • 用户脚本 - 有没有办法将 jquery 代码注入 angularjs dom?

    所以我正在尝试为一个网站创建用户脚本 我无法更改网站的任何源代码 因为它不是我的 网站到处都使用 AngularJS 控制器 我研究了几天如何做到这一点 但没有成功 所以我尝试注入代码 nav after div test div 当我通过
  • 当焦点/单击[重复]时选择 contenteditable div 中的所有文本

    这个问题在这里已经有答案了 我有 contenteditable div 如下 div style border solid 1px D31444 12 some text div 我需要的是 当我点击 div 时 所有文本都会自动被选中
  • 先按行再按列布局 div

    我有一个容器div and 3 div里面如下 div div 1 div div 2 div div 3 div div 不知道每一个的内容div内部 但它们的高度和宽度是可变的 集装箱的高度由最高的决定div inside 我想展示这些
  • 如何检查变量是 jQuery 对象还是普通 DOM 元素?

    如何检查变量是 jQuery 对象还是普通 DOM 元素 一个 jquery 对象有一个jquery财产 jquery 对象是一个instanceof jQuery instanceof on MDN https developer moz
  • 使用 JS 在 Angular 中创建删除按钮的确认警报

    我有一个带有删除按钮的表单 我想创建一个单击删除按钮时弹出的确认框 删除按钮当前有效 我在 javascript 中尝试了一些方法 但没有成功 我正在使用角度 这是最好的方法吗 另外 有谁知道这方面的任何例子 我还没有找到任何有效的例子 d
  • 获取 FileReader() 的结果对象

    有什么方法可以在不通过函数的情况下获取 FileReader 的结果对象 我在下面制作了示例代码 HTML br br br div div JS var code lorem ipsum input type file change fu
  • 自定义rc-time-picker的样式

    我在用rc time picker我的项目的包 但我在自定义样式时遇到问题pop up of my time picker成分 这是我的组件的屏幕截图 首先 我需要更改时间的背景颜色item在当时li from light grey 在屏幕
  • Angular - 如何从 DOM 中删除我使用过 $compile 的元素?

    我需要的是两个 ng views 的功能 因为我不能 我想更改某些内容的innerHTML 并编译它 我遇到的问题是 当我再次更改内容时 我可以编译 但是 Angular 是否会自行删除绑定 或者我必须手动执行此操作 如果是这样 怎么办 编
  • 使用 jquery 远程图像属性

    目前我正在尝试获取远程图像宽度 高度 我正在开发一个链接共享模块 就像当你在 Facebook 上粘贴链接时 你可以看到标题 描述和图像 所以我尝试使用 php getimagesize 来获取图像宽度 高度 但速度非常慢 所以我正在考虑使
  • 渲染货币和符号并与来自不同单元格的数据相结合

    我正在使用最新的 jQuery DataTables v1 10 7 我正在尝试将数字解析为以下格式 239 90 USD 我可以使用此命令使货币正常工作 columns data Price render fn dataTable ren
  • 为什么我的淘汰单选按钮在另一个具有点击绑定的元素内时会失败?

    我有一个单选按钮列表 我想要点击 li 他们还检查单选按钮 这一切都有效 直到我放了一个name单选元素上的属性 然后我的代码停止工作 我的代码如下所示 ul li li ul li
  • 使用 JavaScript 禁用第三方 cookie

    我正在努力根据所有在欧盟运营的公司的数据保护规则实施新的 Cookie 政策合规性 根据该规则 用户在使用任何网站时必须能够拒绝 接受除必需的 Cookie 之外的所有内容 在我客户的网站中 我可以看到正在存储以下第三方 cookie ga

随机推荐