zoukankan      html  css  js  c++  java
  • javascript之克隆

    这个随笔的来源于这样一个应用场景:用户点击table中的row能够修改当前row的数据,并且可以选择保存或是取消;后台提供两个接口---getTable数据和putRow修改数据;我们如何用vue+element-ui实现?在我的思路中,关键点是克隆一个当前table数据,如果用户取消修改,我能够将被修改的row数据还原。(不选择给row数据克隆副本)

    while,也许这也不是最佳实践。

    基本类型克隆

    var m = 1;
    var b = m
    b //1
    m = 2
    b //1

    引用类型克隆

    var a = [1,2,3]
    22:21:01.801 undefined
    22:21:12.802 k=a
    22:21:12.839 (3) [1, 2, 3]
    22:21:22.770 k.push(1)
    22:21:22.795 4
    22:21:26.082 a
    22:21:26.112 (4) [1, 2, 3, 1]

    a被改变了,这可不是我需要的。

    简单的,var d = a.slice(0),或是 

    var d = Object.assign([],a)
    d //[1, 2, 3, 1]
    a.push(3) //5
    d //[1, 2, 3, 1]

     在ECMAScript 2016,2017,和2018中新增功能里也提过使用

    const ElectricCar2 = Object.defineProperties({}, Object.getOwnPropertyDescriptors(Car));

    做深拷贝。

    新的语言特性让Fronter从繁复的工具封装中解脱了,而更专注于页面交互逻辑。点赞(☆w☆)

  • 相关阅读:
    19.将写好的输出到本地 文件格式:Step
    18.对Topo进行打孔
    17.球体
    16.圆柱
    15.绘制圆锥
    14.Chamfer把正方体所有的边倒角
    13.绘制一个方体
    ①②坐标点
    esp8266接线
    IP解析
  • 原文地址:https://www.cnblogs.com/Merrys/p/9038498.html
Copyright © 2011-2022 走看看