现象:

  开发vue项目的过程中,需要多次用到一份基础数据,为减少代码量,提高一下复用效果,便用变量A来定义,在项目中需要用到时就用变量A进行赋值。

  在项目中调用时,我新定义一个变量B,再将变量A赋值给变量B,即B=A;

  期望的效果是,赋值之后,A和B是两份数据,对变量B进行操作时不影响变量A,结果发现想的是一回事,敲出来的完全是另一回事,修改B变量时A变量也跟着改变了。

原因:

  请教了一下大佬,我们期待的是,B从A变量copy出一份数据,变成两份一样的基础数据,操作B而不影响A,让A始终保持原滋原味。但是B=A的方式只是将B指向A的存储地址,实际上只有同一份数据,因此无论修改A还是B都是会互相影响的。

解决方法:

  B = JSON.parse(JSON.stringify(A))
先用SON.stringify(A)从A对象中解析出字符串,再用JSON.parse()将解析出的字符串转换成JSON对象,这样就会获得两份相同的数据啦,对B进行操作就不会影响到A啦

JS变量之间赋值,修改变量值,原变量会随之改变的问题的更多相关文章

  1. 通过反射将变量值转为变量名本身ZZ

      这是.NET反射的一个有趣小例子:  通过反射将变量值转为变量名本身. 当然要先添加命名空间:using System.Reflection; 示例代码如下: class Program { st ...

  2. IDEA在debug时修改变量值

    IDEA在debug调试时修改变量值 例如以下代码: int y1 = 0; anchor.setDy1(y1); 在代码中,这个y1永远是0,但是y1本身是个变量 debug的时候获取到这个属性,并 ...

  3. Golang反射修改变量值

    1. 前言 前面的随笔Golang反射获取变量类型和值分享了如何通过反射获取变量的类型和值, 也就是Golang反射三大定律中的前两个,即从interface{}到反射对象和从反射对象到interfa ...

  4. js获取jsp中的变量值

    js获取jsp中的变量值,有两种方式: 1.jsp标签获取属性 var message = '<%=request.getAttribute("message")%>' ...

  5. sap 调试工具,修改变量值

    1: 点击修改,输入变量值,按enter键.

  6. C语言中结构体变量之间赋值

    近期,我阅读了某新员工小刘写的C语言代码,发现其对结构体变量之间的赋值不是非常熟悉. 对于两个同样类型的结构体变量,他均採用的是逐个成员变量直接赋值的形式.例如以下的代码演示样例: 如上代码所看到的, ...

  7. Keil MDK下如何设置非零初始化变量(复位后变量值不丢失)

    一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备.而keil mdk在默认情况下,任何形式的复位都会将RAM区的非初始 ...

  8. [BS-00] const限定常量或者变量(初次赋值后),其值不允许被改变

    CONST(C中的CONST) const是一个C语言(ANSI C)的关键字,它限定一个变量不允许被改变,产生静态作用.使用const在一定程度上可以提高程序的安全性和可靠性.另外,在观看别人代码的 ...

  9. JS变量写到HTML页面中并修改变量值(前台处理数据序号问题)

    有时候我们在前台需要对序号进行处理,我们需要将JS变量写到页面中进行显示. 第一种方式:后台处理 第二种方式:JS中定义全局变量,然后进行显示,可以书写一个JS函数对不同的需要进行不同的替换,也就可以 ...

  10. 在c#中把字符串转为变量名并获取变量值的小例子(转)

    public class Program { public string str = "spp"; public string spp = "Hello World!&q ...

随机推荐

  1. DELL服务器升级BIOS,做RAID磁盘阵列

    dell服务器BIOS升级.LSI集成整列卡驱动安装 1.下载启动盘rufus,安装linux系统到U盘 1.准备两个U盘,插入启动U盘进入系统,进入centos7选择页面,插入另一个U盘用于安装li ...

  2. 对mvc模式的理解

    Model-View-Controller MVC模式是个威力强大的复合模式,是由数个设计模式结合起来的模式: 我们先看一下一个mp3播放器的设计,来由浅至深地了解这个设计模式的精髓所在: 从最直观的 ...

  3. 智能风控:python金融风险管理与评分卡建模

    Ch1 互联网金融的申请过程,通常由用户从移动端发起,首次贷款用户会经理申请.四要素验证.授信与额度利率定价.多层审批.用户提款等多个环节:对于还款后再次贷款的复贷客户,平台通常会基于更好的信用评估结 ...

  4. wpf TreeView右键选中节点弹菜单

    <TreeView x:Name="CustomTreeView" Canvas.Top="1" Canvas.Bottom="1" ...

  5. Linux firewall 命令

    常用命令 开启端口命令 firewall-cmd --zone=public--add-port=443/tcp --permanent --zone  #作用域 --add-port=80/tcp ...

  6. taro+vue3模板-废弃

    一.初始化 1.Taro 基本安装并初始化项目 npx @tarojs/cli init WechatAppDemo 2.cd到新项目的文件夹 3.安装依赖:yarn 4.运行预览: yarn dev ...

  7. python 的sys.argv 和 sys.path.append() 用法和PYTHONPATH环境变量

    sys.argv 我们编写一个测试用例test.py ,内容如下 imoprt sys a = sys.argv b = len(sys.argv) c = sys.argv[0] d = sys.a ...

  8. mac上创建第一个C程序

    在mac电脑上,写C语言程序一般用终端来写,我们学习C主要是为了学习iOS的话,我们今天换Xcode来写C. 一.去App Store或者苹果开发者网站上下载Xcode.打开Xcode,创建项目. 二 ...

  9. npm 包管理器run命令理解

    npm run命令需和项目根目录下的package.json文件配合使用: npm run执行package.json文件的"scripts"属性中定义的命令,如下例: {   & ...

  10. C/C++ 关键字 static 详细解析

    static关键字是一个修饰符,根const类似,被它修饰的变量和函数分别被称为静态变量和静态函数,根据修饰的对象的不同,static表现出来的作用也不同. 1. C语言中的 static 在C语言中 ...