javascript - 使用变量设置变量后,更改第一个变量也更改第二个?
问题描述
首先知道我对 Javascript 很陌生。我想知道为什么当我运行这个脚本时,我可以成功地将 newVar 设置为我修改后的 baseVar,但是如果我重用相同的 baseVar 变量,它也会改变 newVar,尽管没有改变 newVar 本身。
var newVar = 0;
var baseVar = {number: 0,};
function generateNumber() {
var number = Math.round(Math.random() * 50);
baseVar.number = number;
console.log(baseVar);
}
generateNumber();
newVar = baseVar;
console.log(newVar);
generateNumber();
console.log(newVar);
如果我运行我的函数两次,第一次数字是 2,第二次数字是 37,我希望我的输出读取......
[object Object] {
number: 2
}
[object Object] {
number: 2
}
[object Object] {
number: 37
}
[object Object] {
number: 2
}
但我得到的是...
[object Object] {
number: 2
}
[object Object] {
number: 2
}
[object Object] {
number: 37
}
[object Object] {
number: 37
}
解决方案
推荐阅读
- macos - 更新到 MacOs Catalina 使 Apple 脚本无法导出 Pages Document:“Pages got an error: Invalid key form”。
- assembly - 操作系统如何阻止程序访问内存?
- linux - 如何将多行文本传递给参数中的命令?
- visual-studio-code - vscode视图中的列表?
- javascript - res.send() 方法未定义发送到服务器的数据
- ios - 动态选择要在表格中编辑的部分
- android - react-native-ffmpeg:本机模块不能为空(ios)并且空不是对象(评估'RNFFmpegModule.enableLogEvents')(android)
- python - 我将如何使用嵌套循环来测量一组中两个坐标的距离?
- actionscript-3 - Moonshine Apache Royal:翻译错误:不允许操作
- reactjs - 如何存储来自 API 的数据,以便可以在其他组件中访问